home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-09-22 | 112.5 KB | 3,151 lines |
-
- München, im April 1994
-
- KOLUMBUS V2.21
-
- (c) 1989, 1990, 1991, 1992, 1993, 1994 Jörg Otte
-
- P r o g r a m m a n l e i t u n g
- =================================
-
-
-
- I N H A L T
-
- 0 Übersicht
-
- 1 Die Menüzeile
- 1.1 Menü KOLUMBUS
- 1.2 Menü File
- 1.2.1 New
- 1.2.1 Open...
- 1.2.1 View...
- 1.2.1 Import...
- 1.2.1.1 File...
- 1.2.1.1 Binary File...
- 1.2.1.1 Clipboard
- 1.2.1.1 Die Option 'use filter'
- 1.2.2 Save
- 1.2.3 Save as...
- 1.2.4 Abandon
- 1.2.4 Export...
- 1.2.4.1 Printer
- 1.2.4.2 File...
- 1.2.4.3 Window
- 1.2.4.4 Clipboard
- 1.2.4.5 Die Option selected.
- 1.2.4.6 Die Option 'use filter'
- 1.2.5 Help
- 1.2.6 Quit(1)
- 1.2.7 Quit
- 1.3 Menü Drive
- 1.3.1 Open...
- 1.3.2 Directory...
- 1.3.3 Move...
- 1.3.4 Find File...
- 1.3.4 Store...
- 1.3.5 Help
- 1.4 Menü Edit
- 1.4.1 Find...
- 1.4.1.1 ignore case
- 1.4.1.2 start
- 1.4.1.3 range
- 1.4.2 Find same
- 1.4.3 Hide/get
- 1.4.3.1 Hide/get verknüpfen mit Suchbegriff.
- 1.4.3.2 Hide/get verknüpfen mit Cursorposition
- 1.4.4 Find...
- 1.4.4.1 ignore case
- 1.4.1.2 start
- 1.4.1.3 replace
- 1.4.1.4 range
- 1.4.2 Replace same
- 1.4.3 Goto Line...
- 1.4.4 Editorflags
- 1.4.5 Help
- 1.5 Menü Font
- 1.5.1 Select
- 1.5.2 Unload
- 1.5.3 Chrset
- 1.5.4 Help
- 1.6 Menü Extra
- 1.6.1 Menü Tabs...
- 1.6.2 Menü Sort...
- 1.6.2.1 Sortieren im Editorfenster
- 1.6.2.1.1 Columns
- 1.6.2.1.2 Selected
- 1.6.2.1.3 Direction
- 1.6.2.2 Sortieren im Verzeichnisfenster des Filemanagers
- 1.6.3 Menü Window...
- 1.6.3.1 Position
- 1.6.3.2 Size
- 1.6.3.3 ⇧⇩
- 1.6.3.4 ⇦⇨
- 1.6.4 Settings
- 1.6.5 Environment...
- 1.6.5.1 Strings
- 1.6.5.2 Environmentfenster
- 1.6.5.3 Clipboard path
- 1.6.5.4 Own Fileselector
- 1.6.6 Info...
- 1.6.7 Make
- 1.6.7.1 make
- 1.6.7.2 debug only
- 1.6.7.3 make all
- 1.6.8 Help
-
- 2. Der Filemanager.
- 2.1 Die Fenstertypen des Filemanagers
- 2.1.1 Das Laufwerksfenster
- 2.1.2 Das Treeviewfenster
- 2.1.3 Das Dateifenster
- 2.1.4 Das Deskfenster
- 2.1.5 Pfadnamen
- 2.1.6 Zusammenfassung
- 2.2 Die Dateifunktionen des Filemanagers.
- 2.2.1 Kopieren
- 2.2.1.1 Behandlung der Verzeichnisse beim Kopieren.
- 2.2.1.2 Kopieroptionen
- 2.2.2 Umbenennen
- 2.2.3 Verschieben
- 2.2.4 Löschen
- 2.2.4.1 LöschOptionen
- 2.2.5 Dateizeit verändern
- 2.2.6 Verzeichnisse einrichten
- 2.2.7 Programme starten
- 2.2.7.1 Dialog zur Eingabe von Kommandozeilenparametern
- 2.2.7.1.1 Cmdline
- 2.2.7.1.2 Cmdline
- 2.2.7.1.3 Temp
- 2.2.7.1.4 Input
- 2.2.7.1.5 Output
- 2.2.8 Der interne Fileselektor
- 2.2.8.1 Bedienung des internen Fileselektorfensters
-
- 3 Die Projektverwaltung
- 3.1 Einleitung
- 3.1.1 Wozu eine Projektverwaltung?
- 3.1.2 Wunschtraum: Eine professionelle Projektverwaltung.
- 3.1.3 Die Realität (das Machbare)
- 3.2 Das Makefenster
- 3.2.1 Beispiel für ein Makefenster
- 3.2.1.1 was unbedingt nötig ist
- 3.2.1.2 Auflockern durch Leerzeilen
- 3.2.1.3 Kommentare
- 3.2.1.4 Einbeziehung des obersten Fensters
- 3.2.2.1 Die Syntax
- 3.2.2.2 Auswerten des Returncodes des Compilers.
- 3.2.2.3 Verwendung von Makros
- 3.3 Optionen der Projektverwaltung
- 3.4 Umlenkung der Ausgabe
- 3.5 Hinweise zum Gebrauch des Makeutilities.
- 3.6 Die Projektverwaltung als allgemeiner TTP-Programmstarter
- 3.7 Schlusswort
-
- 4.1 Textformatierung
- 4.1.1 Übersicht:
- 4.1.2 Ablauf
- 4.2.1 Formatierung
- 4.2.1.1 Steuerung der Formatierung
- 4.2.2 Word wrapping
- 4.3 Steuerzeichen für die Textformatierung
- 4.3.1 Übersicht
- 4.3.2 Pseudotrener
- 4.3.3 (harter) Zeilenumbruch
- 4.3.4 Pseudoblank
- 4.3.5 Die Horizontalmarke
- 4.3.6 Formatfreier Paragraph
- 4.4 Export,Ausgabe des formatierten Textes:
-
- 5 Anhang
- 5.1 Der Window Manager in Kolumbus
- 5.2 Hinweise zum Editor
- 5.2.1 Rechtecke im Editor
- 5.2.2 Einfügen von Pfadnamen im Editor
- 5.2.3 PC-HELP Protokol
- 5.3 Umlenkung der Ein-Ausgabe
- 5.3.1 Umgelenkt werden können folgende Kanäle:
- 5.3.2 Probleme bei der Ein- Ausgabeumlenkung:
- 5.4 Tips,Clicks und "Affengriffe"
- 5.4.1 Der Window "Fuller":
- 5.4.2 Der Window "Mover":
- 5.4.3 Die Pfeiltasten:
- 5.4.4 Die Funktionstasten:
- 5.4.5 Der Window Manager:
- 5.4.6 Die Tree-, Laufwerks- und Dateifenster
- 5.4.7 Laden u. speichern von Dateien:
- 5.4.8 Das Makeutility:
- 5.4.9 Markieren, Suchen und ersetzen:
- 5.4.10 Block bearbeiten:
- 5.4.11 Löschen:
- 5.4.12 Undo
- 5.4.13 Positionieren
- 5.4.14 Zeilen Aus- und Einblenden
- 5.5.1 Die KOLUMBUS Fenstertypen
-
-
- 0 Übersicht:
- ----------------------------------------
-
- KOLUMBUS ist eine Entwicklungsumgebung für Komandozeilencompiler und
- besteht im wesentlichen aus drei Säulen:
-
- -Einem Filemanager
- -Einer Projektverwaltung
- -Einem Gem-Editor.
-
- Mit dem Filemanager können Dateien, Verzeichnisse, Verzeichnisbäume
- oder auch ganze Partitions kopiert oder gelöscht werden. Ausserdem
- ist der Filemanager ein universeller Programmstarter. Desweiteren
- kann der Filemanger nach Dateien suchen.
-
- Mit der Projektverwaltung lassen sich Compiler- und Linkeraufrufe
- automatisieren. Die Steuerung der Projektverwaltung erfolgt über
- sogenannte Makedateien.
-
- Die Features des Gemeditors gehen über denen eines reinen
- Ascii-Texteditors etwas hinaus. Er bietet auch einige Grundfunk-
- tionen einer einfachen Textverarbeitung wie zum Beispiel Randaus-
- gleich und halbautomatische Silbentrennung.
- Innerhalb von KOLUMBUS übernimmt der Editor ausserdem die Aufgabe,
- die Ausgaben des Filemanagers und der Projektverwaltung in Fenster
- darzustellen und auch die Kommandos und Anweisungen des Anwenders
- an beide Programmteile weiterzuleiten. Der Gemeditor ist damit der
- Zentrale Programmteil innerhalb von KOLUMBUS.
-
- Die Menüzeile
-
- ---------------------------------------------------------------------
- 1 Die Menüzeile
- 1.1 Menü KOLUMBUS
-
- 1.2 Menü File
- 1.2.1 New
- 1.2.1 Open...
- 1.2.1 View...
- 1.2.1 Import...
- 1.2.1.1 File...
- 1.2.1.1 Binary File...
- 1.2.1.1 Clipboard
- 1.2.1.1 Die Option 'use filter'
- 1.2.2 Save
- 1.2.3 Save as...
- 1.2.4 Abandon
- 1.2.4 Export...
- 1.2.4.1 Printer
- 1.2.4.2 File...
- 1.2.4.3 Window
- 1.2.4.4 Clipboard
- 1.2.4.5 Die Option selected.
- 1.2.4.6 Die Option 'use filter'
- 1.2.5 Help
- 1.2.6 Quit(1)
- 1.2.7 Quit
-
- 1.3 Menü Drive
- 1.3.1 Open...
- 1.3.2 Directory...
- 1.3.3 Move...
- 1.3.4 Find File...
- 1.3.4 Store...
- 1.3.5 Help
-
- 1.4 Menü Edit
- 1.4.1 Find...
- 1.4.1.1 ignore case
- 1.4.1.2 start
- 1.4.1.3 range
- 1.4.2 Find same
- 1.4.3 Hide/get
- 1.4.3.1 Hide/get verknüpfen mit Suchbegriff.
- 1.4.3.2 Hide/get verknüpfen mit Cursorposition
- 1.4.4 Find...
- 1.4.4.1 ignore case
- 1.4.1.2 start
- 1.4.1.3 replace
- 1.4.1.4 range
- 1.4.2 Replace same
- 1.4.3 Goto Line...
- 1.4.4 Editorflags
- 1.4.5 Help
-
- 1.5 Menü Font
- 1.5.1 Select
- 1.5.2 Unload
- 1.5.3 Chrset
- 1.5.4 Help
-
- 1.6 Menü Extra
- 1.6.1 Menü Tabs...
- 1.6.2 Menü Sort...
- 1.6.2.1 Sortieren im Editorfenster
- 1.6.2.1.1 Columns
- 1.6.2.1.2 Selected
- 1.6.2.1.3 Direction
- 1.6.2.2 Sortieren im Verzeichnisfenster des Filemanagers
- 1.6.3 Menü Window...
- 1.6.3.1 Position
- 1.6.3.2 Size
- 1.6.3.3 ⇧⇩
- 1.6.3.4 ⇦⇨
- 1.6.4 Settings
- 1.6.5 Environment...
- 1.6.5.1 Strings
- 1.6.5.2 Environmentfenster
- 1.6.5.3 Clipboard path
- 1.6.5.4 Own Fileselector
- 1.6.6 Info...
- 1.6.7 Make
- 1.6.7.1 make
- 1.6.7.2 debug only
- 1.6.7.3 make all
- 1.6.8 Help
- ---------------------------------------------------------------------
-
- 1 Die Menüzeile
-
- 1.1 Menü KOLUMBUS
-
- Der erste Menüpunkt beherbergt wie üblich den Namen und das Copyright
- des Progamms. Es erscheint ein Dialog mit dem Namen und Adresse des
- Autors.
-
- In diesem Dialog gibt es zusätzlich die Option 'Check...'. Mit dieser
- Option kann KOLUMBUS gegen Befall von Viren überprüft werden.
- Es erscheint ein Fileselektor, mit dem man den Pfad und Namen der
- Programmdatei von KOLUMBUS anwählt.
- Durch eingabe von O.k. überprüft KOLUMBUS jetzt seine Checksum. Im
- Gutfall erscheint kurz darauf eine Hinweisbox mit 'Checksum O.K.'.
-
- Im Fehlerfall erscheint 'Checksum wrong' oder 'Checksum not found'.
- In beiden Fällen wurde die Programmdatei von KOLUMBUS modifiziert.
- Ich empfehle in diesem Fall KOLUMBUS zu löschen und die Platte mit
- einem Virusscanner zu überprüfen.
-
- Ich mache mit Absicht keine Angaben über die Prüfmethode, damit es
- potentiellen Virusschreibern etwas schwieriger haben. Gleichzeitig
- möchte ich hier alle Softwareentwickler aufrufen, Ihre Programme
- durch eine eigene Prüfmethode auszustatten, damit sich Virenschreiber
- nicht auf eine Methode 'einschiessen' können.
-
-
- 1.1 Menü File
-
- Das File Menü enthält Funktionen zum Laden von Dateien in den Editor
- sowie zum Abspeichern von Dateien aus dem Editor. Ausserdem befindet
- sich hier zwei Menüpunkte zum Verlassen von KOLUMBUS.
-
-
- 1.2.1 New
-
- Mit diesem Menüpunkt wird ein leeres Editorfenster mit dem Dateinamen
- 'noname' erzeugt. Als Pfad wird der Pfadname des bisher aktiven Fen-
- sters, oder wenn das bisher aktive Fenster das Laufwerksfenster war,
- der Defaultpfad den KOLUMBUS beim Start vererbt bekommen hat, ver-
- wendet.
-
-
- 1.2.1 Open...
-
- Mit diesem Menüpunkt wird eine Datei in den Editor geladen. Es Er-
- scheint ein Fileselektor um den Pfadnamen auszuwählen.
-
- Diser Menüpunkt ist eigentlich nur dafür gedacht, um neuen KOLUMBUS
- Anwendern den Einstieg zu erleichtern. Eine wesentlich schnellere
- komfortablere und übersichtliche Methode ist es, Dateien über den
- Treeviewfenstern oder Verzeichnisfenster des Filemanagers zu laden.
- Siehe hierzu der Abschnitt über den Filemanager.
-
- KOLUMBUS öffnet Standartmäßig alle Dateien im Textmodus. Wählt man
- über den Fileselektor eine Binärdatei aus, das ist eine Datei mit
- mindestens einem Nullbyte, so erscheint ein Dialog in dem man die
- Satzlänge der zu ladenen Datei eintragen kann. Danach wird die Datei
- neu als Binärdatei eröffnet und mit fester Satzlänge in den Editor ge-
- laden. Mehr dazu später.
-
- Existiert der im Fileselektor angegebene Dateiname nicht, wird die
- Datei automatisch neu erzeugt.
-
- 1.2.1 View...
-
- Gleiche Funktion wie unter dem Menüpunkt Open... Nur kann hier die
- geladene Datei nur angesehen aber nicht verändert werden.
-
- Unabhängig davon ist, nur zum Ansehen, eine Tabulatorexpansion mög-
- lich. In dieser Expandierten Form kann die Datei aber nicht unter
- gleichem Namen abgespeichert werden.
-
-
- 1.2.1 Import...
-
- Import einer Datei. Dieser Menüpunkt führt zu einem weiteren Auswahl-
- dialog mit den folgenden Optionen:
-
- merge
- use filter
-
- 'merge' und 'use filter' sind optional.
-
- Desweiteren kann (muss) in diesem Dialog angegeben werden, von wo
- eine Datei importiert werden soll und welchen Typs diese ist.
-
- File...
- Binary...
- Clipboard
-
- Worin bestehen jetzt die Unterschiede zwischen 'importieren' und ein-
- fach nur 'laden'?
- 1. Durch die Option 'merge' wird kein neues Fenster geöffnet, sondern
- die zu ladene Datei wird vor der aktuellen Cursorzeile eingefügt.
- 2. Durch die Option 'use filter' können automatisch beim Laden eine
- Umkodierung beliebiger Zeichen durchgeführt werden. Mehr dazu
- später.
-
-
- 1.2.1.1 File...
-
- Import einer Textdatei. Mit dem daraufhin erscheinenden Fileselektor
- wird die zu importierende Datei ausgewählt.
-
-
- 1.2.1.1 Binary File...
-
- Import einer oder als Binärdatei. Zunächst wird mit dem Fileselektor die
- Datei Ausgewählt. Danach wird über ein Dialog die Satzlänge abgefragt.
-
- Auch eine Textdatei wird in diesem Modus als Binärdatei geladen. Das
- Bedeutet, daß hierbei auch die Zeilenendezeichen Sichtbar und somit
- 'Editierbar' werden.
-
- Auch eine Datenbankdatei mit fester Satzlänge, die in der Regel keine
- Zeilenendekennung haben, kann so in den Editor geladen und mit den
- gewohnten Funktionen 'editiert' werden. Auf diese Art habe ich mal
- z.B. mal eine Strukturumwandlung einer Datenbank vorgenommen. Die
- verwendete Datenbank bietete dieses Feature nicht.
-
-
- 1.2.1.1 Clipboard
-
- Der aktuelle Inhalt des Clipboards wird gelesen und gemäß den Optio-
- nen in ein neues Fenster oder vor die aktuelle Cursozeile kopiert.
-
-
- 1.2.1.1 Die Option 'use filter'
-
- Die Option 'use filter' ist nur anwählbar, wenn ein sog. Importfen-
- ster geöffnet wurde. In einem Importfenster wird mittels einer Fil-
- tertabelle spezifiziert, welche Zeichen wie umgewandelt werden sol-
- len.
-
- Beispiel eines Importfensters:
-
- Beim Einlesen sollen alle "Ä" und "ä" in "Ae" bzw. "ae" umgewandelt
- werden: Der folgende Dreizeiler zeigt den Inhalt des zugehöhrige
- 'Importfensters':
-
- .import
- ä=ae
- Ä=Ae
-
- Das Zeichen '#' dient als Einleitung einer Kommentarzeile im
- Importfenster. Soll dieses Zeichen umgewandelt werden so wird das
- folgendermaßen geschrieben:
-
- .import
- \#=§
-
- In diesem Fall wird also # durch § ersetzt. Alle Zeichen des
- Ersatzstring können auch zweistellig hexadezimal angegeben werden in
- dem ebenfalls ein 'backslash' vorangestellt wird. Beispiel:
-
- .import
- ö=\6F\65
- Ö=\4F\65
-
- Hiemit wird ö in oe und Ö in Oe umgewandelt.
-
-
- Aufbau des Importfensters:
-
- Aus den wenigen beispielen dürfte bereits klar sein, wie ein
- 'Importfenster aufgebaut wird:
-
- - In der ersten Zeile in der ersten Spalte steht immer '.import'.
-
- - durch ein '#' in der ersten Spalte wird eine Kommentarzeile ein-
- geleitet.
-
- - die Filtertabelle besteht aus maximal 255 Einträgen der Form
- <ch>=<ersatzstring>.
-
- - der Ersatzstring kann auch hexadezimal durch \xx erfolgen.
-
- - soll das Zeichen '#' umgewandelt werden, so muss das als '\#'
- geschrieben werden.
-
-
- 1.2.2 Save
-
- Mit diesem Menüpunkt wird das oberste Fenster abgespeichert. Ist das
- oberste Fenster ein Fenster des Filemangers, so ist diese Anweisung
- ohne Wirkung.
-
-
- 1.2.3 Save as...
-
- Mit diesem Menüpunkt kann das oberste Fenster unter neuen Namen ab-
- gespeichert werden. Die Eingabe des neuen Namens erfolgt über einen
- Fileselektor.
-
-
- 1.2.4 Abandon
-
- Mit diesem Menüpunkt wird das oberste Fenster neu in den Editor ein-
- gelesen. Alle Änderungen im obersten Fenster werden dabei verworfen.
-
-
- 1.2.4 Export...
-
- Dieser Menüpunkt ist gewissermaßen das Gegenstück zum Import. Er
- führt zu einem weiteren Auswahldialog mit den folgenden Optionen:
-
- selected
- use filter
-
- Desweiteren kann (muss) in diesem Dialog angegeben werden, wohin
- das oberste Fenster exportiert werden soll:
-
- Printer
- File...
- Window
- Clipboard
-
- Der Unterschied zwischen 'exportieren' und 'speichern' besteht nun
- darin, daß zusätzlich als "target" der Drucker oder ein Fenster mög-
- lich ist, und daß außerdem wie beim Importieren auch, eine Filterta-
- belle verwendet werden kann.
- Im Gegensatz zum Import wird hier jedoch auch ohne explizite
- Verwendung einer Filtertabelle gefiltert. Und zwar ist der Export
- standartmäßig exakt auf die bei der Textformatierung verwendeten
- Steuerzeichen zugeschnitten (siehe hiezu Abschnitt "textformatie-
- rung").
- Das heisst im Klartext: Exportiert man eine mit KOLUMBUS formatierte
- Textdatei, so werden die 'Horizontalmarke' und 'Pseudoblank' durch
- ein echtes Blank ersetzt und ein Pseudotrennzeichen am rechten Rand
- wird durch das richtige Silbentrennzeichen ersetzt. Alle anderen
- Steuerzeichen zur Textformatierung werden gelöscht. Der exportierte
- Text ist also von Steuerzeichen gesäubert und somit "druckreif".
-
-
- 1.2.4.1 Printer
-
- Das oberste Fenster wird auf den Drucker exportiert (ausgedruckt).
-
-
- 1.2.4.2 File...
-
- Das oberste Fenster wird in eine Datei exportiert. Mit diesem Menü-
- punkt ist diese Bedienungsanleitung und sind auch die Helptexte
- entstanden.
-
-
- 1.2.4.3 Window
-
- Das oberste Fenster wird in ein neues Fenster exportiert. Dieser
- Memüpunkt bietet sich dazu an, bevor der Export auf den Drucker er-
- folgt, sich das Ergebnis vorab schon mal anzusehen und zu kontrollie-
- ren.
-
-
- 1.2.4.4 Clipboard
-
- Mit diesem Menüpunkt wird das oberste Fenster auf das Clipboard ge-
- schrieben.
-
-
- 1.2.4.5 Die Option selected.
-
- Anstatt des gesamten obersten Fensters, wird nur der selektierte
- Block exportiert.
-
-
- 1.2.4.6 Die Option 'use filter'
-
- Diese Option kann nur angewählt werden, wenn ein 'Exportfenster' ge-
- öffnet ist. Ein Exportfenster setzt die oben beschriebene builtin Ex-
- portfiltertabelle außer kraft.
-
- Ein Exportfilter ist genau so aufgebaut wie ein Importfilter, nur daß
- in der ersten Zeile eben '.export' stehen muss.
-
- Eine wichtige Anwendung des Exportfensters ist die Definition und
- Umsetzung von Druckerescapesequenzen. Mit KOLUMBUS lassen sich
- demnach nicht nur beliebige Druckersteuerzeichenfolgen definieren,
- sondern auch die Zeichen mit denen diese angewählt werden, sind frei
- wählbar.
- Die einzigen Zeichen, die nicht zur definition der Steuersequenzen
- verwendet werden solten, sind die Steuerzeichen für die Textformatie-
- rung, da diese Zeichen ja eine vordefinierte Bedeutung haben.
-
-
- 1.2.5 Help
-
- Dieser Menüpunkt lädt eine online Helpdatei nur zum Lesen in ein Edi-
- torfenster, in der alle Menüpunkte aus dem Filemenü noch einmal teil-
- weise mit Beispielen erklärt werden. Auch die Tastaturkürzel für ein-
- zelne Funktionen sind dort, soweit vorhanden, aufgeführt.
-
-
- 1.2.6 Quit(1)
-
- Mit diesem Menüpunkt wird KOLUMBUS verlassen. Vorher werden alle ver-
- änderten Dateien ohne Nachfrage abgespeichert.
- Das aufrufende Programm bekommt als Returncode eine '1' zurückgelie-
- fert.
-
- Wurde KOLUMBUS von einer Shell her gestartet, so kann diese daraufhin
- einen Compilerlauf starten. Wird KOLUMBUS mit Quit verlassen,
- so beendet sich KOLUMBUS stehts mit Returncode=0.
-
- Anmerkung: in der Regel wird man einen Compilerlauf nicht mit
- Quit(1), sondern ohne Verlassen des Editors mit der builtin Projekt-
- verwaltung starten. (Siehe ausführlich im Abschnitt Projektverwal-
- tung).
-
-
- 1.2.7 Quit
-
- Mit diesen Menüpunkt wird KOLUMBUS verlassen. Vorher erfolgt für jede
- veränderte Datei, die noch nicht abgespeichert worden ist, eine Dia-
- logabfrage, ob die Datei gesichert werden soll oder nicht.
-
-
- 1.3 Menü Drive
-
- Dieses Menü gehört ganz dem Filemanager von KOLUMBUS. Hier lassen
- sich Treeviews erstellen, Verzeichnisse einrichten, nach Dateien su-
- chen, konfigurieren von welchen Laufwerken ein Treeview abgespeichert
- werden soll. Außerdem ist von hier das Laufwerksfenster erreichbar.
-
-
- 1.3.1 Open...
-
- Mit diesem Menüpunkt wird das Laufwerks- bzw. Filesystemfenster 'U:'
- eröffnet. Hier befinden sich unter single TOS die Laufwerke, und
- unter MiNT zusaetzliche Filesysteme.
- Durch Anklicken eines Laufwerkes/Filesystemes Oeffnet sich ein neues
- Fensters, in dem die Ordnerstruktur des Laufwerks/Filesystems darge-
- stellt wird (Treefenster). Durch Einfachklick auf einen beliebigen
- Ordner in beliebiger Tiefe, kann nun direkt in jedes Unterver- zeich-
- nis gesprungen werden. Wird dabei die Taste ^(Control) gedrueckt, so
- wird der Inhalt des alten Treefensters durch den Inhalt des Ange-
- klickten Ordners ersetzt. Wird ^ nicht gedrueckt, wird der Inhalt des
- Ordners in einem neuen Fenster dargestellt (Dateifenster).
-
- Dem Filemanager ist auch ein eigenes Kapitel gewidmet.
-
-
- 1.3.2 Directory...
-
- Mit diesem Menüpunkt kann ein neuer Ordner erzeugt werden. Der Name
- des Ordners wird mit der Fileselektorbox abgefragt: Man "klickt" sich
- zuerst in das Verzeichnis hinein , in das der Ordner erzeugt werden
- soll, und ruft dann den Menuepunkt auf. Es erscheint dann eine Dia-
- logbox, in der der Ordnername eingegeben wird.
-
- Dieses Menü ist nur aktiv geschaltet, wenn das oberste Fenster ein
- Verzeichnisfenster ist.
-
-
- 1.3.3 Move...
-
- Mit diesem Menüpunkt werden Dateien verschoben.
- Zunaechst muss das Verzeichnisfenster in das die Datei verschoben
- werden soll geoeffnet. Dann wird der Menuepunkt ausgewählt. Jetzt er-
- scheint die Dateiselektorbox um die zu verschiebende Datei auszu-
- wählen.
-
- Dieses Menü ist nur aktiv geschaltet, wenn das oberste Fenster ein
- Verzeichnisfenster ist.
-
-
- 1.3.4 Find File...
-
- Mit diesem Menüpunkt wird auf einem anwählbaren Laufwerk nach Dateien
- gesucht.
-
- Dieses Menü ist nur aktiv geschaltet, wenn das oberste Fenster ein
- Verzeichnisfenster ist.
-
- Zunaechst wird wieder das Verzeichnisfenster geoeffnet, ab dem die
- Suche durchgeführt werden soll. Dann wird der Menuepunkt angeklickt.
-
- Ist unter MiNT das builtin Selektorfenster aktiviert, kann eine durch
- Kommata getrennt Liste von Zeichenmuster zur Dateisuche angegenen
- werden. Im Moment ist es noch nicht moeglich nach Wildcards zu su-
- chen. Wird das interne Selektorfenster nicht verwendet, wird die Se-
- lektorbox des AES gerufen. Hier haengt es von der fähigkeit der Se-
- lektorbox ab, ob Widcards verwendet werden können.
-
- Nach dem Verlassen der Box öffnet sich nun ein Treefenster. Im Tree-
- fenster ist der gesamte Laufwerkbaum des angewählten Laufwerkes und
- zusätzlich alle gefundenen Dateien zu sehen; Alles ist entsprechend
- der Tiefe im Baum eingerückt.
-
- In dem Treefenster hat man folgende Möglichkeiten:
-
- - Anklicken eines Ordnernamens : Es öffnet sich ein weiterres Fenster
- mit allen Verzeichniseinträgen des angeklickten Ordners.
-
- - Die gleiche Funktion wird erreicht, indem man den Cursor auf die
- Zeile, in der der Ordnername steht, positioniert und dann Return
- drückt.
-
- - Anklicken eines Programmnamens (.APP, .PRG, .TTP, .TOS): Das ange-
- klickte Programm wird gestartet.
-
-
- - Die gleiche Funktion wird wie oben erreicht, indem man den Cursor
- auf die Zeile, in der der Programmname steht, positioniert und dann
- Return drückt.
-
- Kolumbus unterscheidet die obigen beiden Möglichkeiten je- weils an
- Hand der Dateiextension.
-
- Bevor Kolumbus ein anderes Programm startet, schließt er alle Fenster
- und gibt die Menuzeile frei. Ein gerufenes Programm hat demnach alle
- Gemfenster zur Verfügung.
-
-
- 1.3.4 Store...
-
- KOLUMBUS speichert sich die komplette Hierarchie der Verzeichnisse in
- der Datei "a__TREE__" ab, wobei 'a' fuer ein Laufwerksbuchstabe
- steht.
- Mit diesem Menüpunkt kann nun eingestellt werden, ob und wenn ja von wel-
- chen Laufwerken Treeviews abgespeichert werden sollen.
-
- Öffnet nun KOLUMBUS ein Treeviewfenster, so schaut es zunächst nach,
- ob zum Laufwerk bereits ein Treeview existiert. Wenn ja wird der
- Treeview nicht neu erzeugt, sondern aus der Datei 'a__TREE__' gele-
- sen. Wenn nein wird dieser erzeugt und ggflls. abgespeichert.
-
- Durch das Laden des Treeviews aus einer Datei kommt es insbesondere
- bei großen Laufwerken und ganz ganz besonders unter MiNT zu einer e-
- normen Beschleunigung beim Öffnen des Laufwerks.
-
- Wird nun auf einem Laufwerk ein neues Verzeichnis erzeugt, so wird
- die Treeviewdatei nicht automatisch aktualisiert. Vieleicht möchte
- man ja mehrere Verzeichnisse neu kreieren und dann wäre es lästig
- wenn der Treeview jedesmal neu erstellt würde.
-
- Ist das oberste Fenster ein Treeviewfenster, kann durch Drücken der
- Taste 'Escape' kann die Neuerstellung eines Treeviews erzwungen wer-
- den. Ist in diesem Fall die Option für das Abspeichern nicht akti-
- viert, so fragt KOLUMBUS doch vorsichtshalber noch einmal nach, wenn
- es sich um das Laufwerk einer Harddisk handelt.
-
- Für das Laufwerk U: kann kein Treeview erzeugt werden.
-
-
- 1.3.5 Help
-
- Dieser Menüpunkt lädt eine online Helpdatei nur zum Lesen in ein Edi-
- torfenster, in der alle Menüpunkte aus dem Drivemenü noch einmal
- teilweise mit Beispielen erklärt werden. Auch die Tastaturkürzel für
- einzelne Funktionen sind dort, soweit vorhanden, aufgeführt.
-
-
-
- 1.4 Menü Edit
-
- Unter diesem Menüpunkt sind alle Editorfunktionen zusammengefasst. Von
- hier aus läßt bzw. lassen sich Zeichenketten suchen, Zeilen im Edi-
- torfenster verstecken (mit und ohne Verknüpfung mit einem Such-
- kommando) , Zeichenketten suchen und ersetzen, springen nach einer be-
- stimmten Zeilennummer.
- Des weiteren können von hier eineige Einstellungen am Editor vorgenom-
- men werden: Automatische Einrückung, rechts stehende Leerzeichen beim
- Abspeichern entfernt werden, den automatischen Zeilenumbruch ein-
- /ausschalten, anfertigen einer Backupdatei vor dem Abspeichern von Än-
- derungen, und die automatische Erkennung der Zeilenendecodierung ein-
- schalten.
-
-
- 1.4.1 Find...
-
- Mit diesem Menüpunkt kann nach Zeichenketten im obersten Fenster ge-
- sucht werden. Dabei ist es egal ob das oberste Fenster ein Textdatei
- oder ein Fenster des Filemanagers ist.
-
- Vor dem Beginn der Textsuche wird über ein Dialog das Suchmuster ein-
- gegeben. Über diesen Dialog läßt sich die Suche folgendermaßen
- modifizieren:
-
-
- 1.4.1.1 ignore case
-
- Hier wird eingestellt, ob die Suche casesensitiv oder nicht durchge-
- führt werden soll.
-
-
- 1.4.1.2 start
-
- Hier wird der Startpunkt und die Richtung der Textsuche eingestellt:
-
- First: Die Suche beginnt bei der ersten (selektierten) Zeile. Die
- Suchrichtung ist Zeilenweise vorwärts.
-
- Cursor: Die Suche beginnt an der Cursorposition. Die Suchrichtung ist
- Zeilenweise vorwärts.
-
- Last: Die Suche beginnt bei der letzten (selektierten) Zeile. Die
- Suchrichtung ist Zeilenweise rückwärts.
-
-
- 1.4.1.3 range
-
- Hier kann eingestellt werden, ob die Textsuche in der Ganzen Datei
- oder nur in einem selektierten Zeilenblock durchgeführt werden soll:
-
- all: Die Suche erfolgt in der ganzen Datei.
-
- selected: Die Suche erfolgt nur im selektierten Zeilenbereich. Soll ab
- Cursorspositon gesucht werden, so muss sich der Cursor im
- selektierten Zeilenblock befinden.
- 'selected' ist nur anwählbar, wenn auch aktuell ein Zeilen-
- bereich selektiert ist.
-
-
- 1.4.2 Find same
-
- Dieser Menüpunkt arbeitet zusammen mit dem Menüpunkt find... Das letz-
- te Suchkommando wird wiederholt bzw. an der aktuellen Cursorposition
- fortgesetzt.
-
-
- 1.4.3 Hide/get
-
- Mit diesem Menüpunkt können Zeilen ausgeblendet werden. Es erscheint
- ein Dialog um die auszublendenden Zeilen auszuwählen. Die Einstel-
- lungsmöglichkeiten sind recht vielfältig, denn das Ausblenden kann
- auch mit einem Suchbegriff und/oder mit einem selektierten Zeilenblock
- verknüpft werden.
-
- Grundsätzlich gilt: Ausgeblendete Zeilen sind von weiteren Operationen
- wie Suchen, Kopieren, Löschen ... ausgeschlossen. Eine Ausnahme gibt
- es allerdings: Beim Abspeichern werden ausgeblendete Zeilen mit be-
- rücksichtigt.
-
- Ausgeblendete Zeilen werden folgendermaßen dargestellt:
-
- - - - - - - <n> line(s) not displayed
-
- wobei <n> für die Anzahl der Zeilen steht.
-
-
- 1.4.3.1 Hide/get verknüpfen mit Suchbegriff.
-
- Wird in dem Dialog 'hide matched' oder 'hide not matched' ausgewählt,
- werden alle Zeilen in denen der Suchbegriff vorkommt ausgeblended.
-
- ignore case: Die Suche erfolgt casesensisitiv oder nicht.
-
- selected: Die Suche bleibt beschränkt auf den selektierten Zeilen-
- bereich.
-
-
- 1.4.3.2 Hide/get verknüpfen mit Cursorposition
-
- Wird im Dialog einer der Optionen hide all, hide before, hide after,
- get all, get before, get after angewählt, ist ein eventuell angegebe-
- ner Suchstring ohne Bedeutung.
-
- hide all: Es werden alle Zeilen oder alle selektierten Zeilen aus-
- geblended.
-
- hide before: Es werden alle Zeilen von der ersten oder der ersten
- selektierten Zeile bis zur Zeile vor dem Cursor ausge-
- blended.
-
- hide after: Es werden alle Zeilen von der Zeile hinter dem Cursor bis
- zur letzten oder der letzten selektierten Zeile ausge-
- blended.
-
- get all: Es werden alle Zeilen oder alle selektierten Zeilen
- wie der sichtbar gemacht.
-
- get before: Es werden alle Zeilen von der ersten oder der ersten
- selektierten Zeile bis zur Zeile vor dem Cursor sichtbar
- gemacht.
-
- get after: Es werden alle Zeilen von der Zeile hinter dem Cursor bis
- zur letzten oder der letzten selektierten Zeile wieder
- sichtbar gemacht.
-
-
- 1.4.4 Find...
-
- Mit diesem Menüpunkt können Zeichenketten im obersten Fenster er-
- setzt werden.
-
- Vor dem Beginn der Textsuche wird über ein Dialog sowohl das Suchmuster
- als auch das Ersatzmuster eingegeben. Über diesen Dialog läßt sich die
- Suche folgendermaßen modifizieren:
-
-
- 1.4.4.1 ignore case
-
- Hier wird eingestellt, ob die Suche casesensitiv oder nicht durchge-
- führt werden soll.
-
-
- 1.4.1.2 start
-
- Hier wird der Startpunkt und die Richtung der Textsuche eingestellt:
-
- First: Die Suche beginnt bei der ersten (selektierten) Zeile. Die
- Suchrichtung ist Zeilenweise vorwärts.
-
- Cursor: Die Suche beginnt an der Cursorposition. Die Suchrichtung ist
- Zeilenweise vorwärts.
-
- Last: Die Suche beginnt bei der letzten (selektierten) Zeile. Die
- Suchrichtung ist Zeilenweise rückwärts.
-
-
- 1.4.1.3 replace
-
- Hier wird eingestellt, ob nur das erste oder alle vorkommen des Suchbegriffs
- ersetzt werden sollen:
-
- all: Alle Vorkommen des Suchbegriffs werden ersetzt.
-
- single: Nur das naächste Vorkommen des Suchbegriffs ersetzt.
-
-
- 1.4.1.4 range
-
- Hier kann eingestellt werden, ob die Textsuche in der Ganzen Datei
- oder nur in einem selektierten Zeilenblock durchgeführt werden soll:
-
- all: Die Suche erfolgt in der ganzen Datei.
-
- selected: Die Suche erfolgt nur im selektierten Zeilenbereich. Soll ab
- Cursorspositon gesucht werden, so muss sich der Cursor im
- selektierten Zeilenblock befinden.
- 'selected' ist nur anwählbar, wenn auch aktuell ein Zeilen-
- bereich selektiert ist.
-
-
- 1.4.2 Replace same
-
- Dieser Menüpunkt arbeitet zusammen mit dem Menüpunkt Replace... Das
- letzte Suchkommando wird wiederholt bzw. an der aktuellen Cursorposi-
- tion fortgesetzt.
-
-
- 1.4.3 Goto Line...
-
- Mit diesem Menüpunkt kann im obersten Fenster der Cursor auf eine be-
- liebige Zeile gesetzt werden.
-
- Die Zeilennummer wird über einen Dialog eingegeben.
-
-
- 1.4.4 Editorflags
-
- Mit den folgenden Einträgen im Edit Menü können einige Editorflags
- gesetzt werden:
-
- Auto Indent: Automatisches Einrücken beim Schreiben einer neuen
- Zeile.
-
- Kill Blanks: Beim Abspeichern einer Datei werden alle rechten Blanks
- gelöscht.
-
- Word Wrapping: Während des Schreibens eines Textes erfolgt am rechten
- Fensterrand automatisch ein Umbruch. Dabei wird ein
- angebrochenes Wort vollständig in die nächste Zeile
- übertragen.
-
- Backup: Vor dem Abspeichern eines Textes aus dem Editor wird die
- alte Datei mit der Extension ".bak" gesichert. Dabei
- hängt es vom Filesystem ab, ob die neue Extension an den
- alten Namen angehängt werden kann oder ob die Extension
- der Datei ausgetauscht wird.
-
- Auto Crlf Wenn diese Flag eingeschaltet ist, erkennt KOLUMBUS au-
- tomatisch beim Einlesen einer Datei, mit welcher Kombi-
- nation aus CR/LF das Zeilenende kodiert wird.
- Abgespeichert wird eine Textdatei allerdings immer mit
- beiden zeichen CR/LF.
- Diese Option darf bei Dateien in denen Zeichen zur
- Textformatierung enthalten sind nicht gesetzt sein. An-
- dernfalls geht das Zeichen für den harten Zeilenumbruch
- beim Einlesen verloren.
-
-
- 1.4.5 Help
-
- Dieser Menüpunkt lädt eine online Helpdatei nur zum Lesen in ein Edi-
- torfenster, in der alle Menüpunkte aus dem Editormenü noch einmal teil-
- weise mit Beispielen erklärt werden. Auch die Tastaturkürzel für ein-
- zelne Funktionen sind dort, soweit vorhanden, aufgeführt.
-
-
- 1.5 Menü Font
-
- In diesem Menü können Fonts nachgeladen, entladen und ausgewählt
- werden. Desweiteren können von diesem Menü aus der komplette
- Zeichensatz des aktuell ausgewählten Fonts in einem Fenster
- dargestellt dargestellt werden. Mit Hilfe dieses Fensters können
- beliebige Zeichen aus dem Font auf die Funktionstasten gelegt werden.
-
-
- 1.5.1 Select
-
- Es erscheint ein Dialog in dem ein neuer Font aus einer Auswahl von
- maximal 10 Fonts bzw. eine neue Schriftgrösse aus einer Auswahl von
- maximal 3 Schriftgrößen ausgewählt werden kann. Falls noch nicht ge-
- schehen, werden die Fonts vorher nachgeladen.
-
- Die Fontauswahl erfolgt an Hand des Fontnamens.
-
- KOLUMBUS unterstützt nur proportionale GDOS-Fonts.
-
-
- 1.5.2 Unload
-
- Wer mit seinem Speicher haushalten muss kann hier die geladenen Fonts
- wieder entladen. Entladene Fonts können jederzeit nochmals nachgeladen
- werden.
-
-
- 1.5.3 Chrset
-
- Es erscheint ein Fenster, in dem der komplette Zeichensatz
- dargestellt wird. Das Fenster trägt den Titel CHARACTERSET.
-
-
- 0 1 2 3 4 5 6 7 8 9 A B C D E F
-
- 0 ⓪ 0 @ P ` p Ç É á ã ij ס α ≡
- 1 ⇧ ① ! 1 A Q a q ü æ í õ IJ ע β ±
- 2 ⇩ ② " 2 B R b r é Æ ó Ø א פ Γ ≥
- 3 ⇨ ③ # 3 C S c s â ô ú ø ב צ π ≤
- 4 ⇦ ④ $ 4 D T d t ä ö ñ œ ג ק Σ ⌠
- 5 ❎ ⑤ % 5 E U e u à ò Ñ Œ ד ר σ ⌡
- 6 ╱ ⑥ & 6 F V f v å û ª À ה ש µ ÷
- 7 ◆ ⑦ ' 7 G W g w ç ù º Ã ו ת τ ≈
- 8 ✓ ⑧ ( 8 H X h x ê ÿ ¿ Õ ז ן Φ °
- 9 ⑨ ) 9 I Y i y ë Ö ⌐ ¨ ח ך Θ ∙
- A
- ə * : J Z j z è Ü ¬ ´ ט ם Ω ·
- B ♪ + ; K [ k { ï ¢ ½ † י ף δ √
- C , < L \ l | î £ ¼ ¶ כ ץ ∮ ⁿ
- D
- - = M ] m } ì ¥ ¡ © ל § ϕ ²
- E . > N ^ n ~ Ä ß « ® מ ∧ ∈ ³
- F / ? O _ o Å ƒ » ™ נ ∞ ∩ ¯
-
- Mit Hilfe diese Fensters kann ein beliebiges Zeichen auf eine Funkti-
- onstaste gelegt werden:
- Das Verfahren dazu ist denkbar einfach: Man positioniert den Cursor
- auf ein Zeichen und drückt dann die gewünschte Funktionstaste, unter
- der das Zeichen abrufbar sein soll.
-
- KOLUMBUS unterstützt bis zu 40 Funktionstastenbelegungen:
-
- F1 .. F10
- ^F1 .. ^F10
- ◆F1 .. ◆F10
- ◆^F1..◆^F10
-
- Selbstverständlich wird die Belegung der Funktionstasten mit dem Menu-
- punkt Extra.SaveSettings gesichert.
-
-
- 1.5.4 Help
-
- Dieser Menüpunkt lädt eine online Helpdatei nur zum Lesen in ein Edi-
- torfenster, in der alle Menüpunkte aus dem Fontmenü noch einmal teil-
- weise mit Beispielen erklärt werden. Auch die Tastaturkürzel für ein-
- zelne Funktionen sind dort, soweit vorhanden, aufgeführt.
-
-
- 1.6 Menü Extra
-
- Diese Menü enthält zwei Funktionen des Editors ( Behandlung des Tabu-
- lators, sortieren von Datensätzen), gestattet Lage und Größe des ober-
- sten Fensters einzustellen, eine Funktion zum Abspeichern der Set-
- tings, eine Funktion zum Einstellen des Environments von aus KOLUMBUS
- heraus gestarteten Programmen, einen Infodialog, und den Aufruf der
- Projektverwaltung.
-
-
- 1.6.1 Menü Tabs...
-
- Dieser Menüpunkt führt zu einem Dialog mit den folgenden Einstellungs-
- möglichkeiten:
-
- Expand : Expandieren der Tabulatorzeichen
- Compress: Komprimieren von Leerzeichen in Tabulatorzeichen
- Size : Anzahl der Leerzeichen je Tabulatorzeichen
-
- Nach der Eingabe von 'Ok' werden im obersten Fenster gemäß den obigen
- Schaltern expandiert oder Leerzeichen komprimiert.
-
- selected: Ist im obersten Fenster ein Zeilenblock selektiert, so gibt
- es außerdem die Möglichkeit die Tabulatorexpansion/-kompri-
- mierung auf den selektierten Block einzuschränken.
-
-
- 1.6.2 Menü Sort...
-
- Dieser Menüpunkt ist kontextsensitiv. Je nachdem ob das oberste Fen-
- ster ein Editorfenster oder ein Verzeichnisfenster des Filemanagers
- ist, können über zwei verschiedene Dialoge die Sortierparameter einge-
- stellt werden.
-
-
- 1.6.2.1 Sortieren im Editorfenster
-
- Es erscheint ein Dialog, in dem die Spalten und Zeilen nach denen
- sortiert werden soll eingegeben kann, Außderdem kann eingestellt
- werden ob auf- oder absteigend Sortiert werden soll.
-
-
- 1.6.2.1.1 Columns
-
- Hier werden die Spalten eingestellt, nach denen Sortiert werden soll:
-
- all : Es wird nach ganze Zeilen sortiert.
- range: Ist diese Option gesetzt kann über 'from' und 'to' der Spalten-
- bereich, nach dem sortiert werden soll definiert werden.
-
- Fällt eine Leerzeile in den Sortierbereich, oder ist eine Zeile klei-
- ner als im Spaltenbereich unter 'range' angegeben, so wird so sortiert
- als stünden Leerzeichen im angegebenen Spaltenbereich.
-
-
- 1.6.2.1.2 Selected
-
- Ist im obersten Fenster ein Zeilenblock selektiert, so kann das Sor-
- tieren auf diesen Zeilenblock beschränkt werden.
-
-
- 1.6.2.1.3 Direction
-
- Hier wird eingestellt, ob aufsteigend oder absteigend sortiert werden
- soll.
-
- Ascend : Es wird aufsteigend sortiert.
- Descend: Es wird absteigend sortiert.
-
-
- 1.6.2.2 Sortieren im Verzeichnisfenster des Filemanagers
-
- Ein Verzeichnisfenster des Filemanagers kann nach folgenden Krite-
- rien sortiert werden:
-
- Name : Sortiert wird nach dem Dateinamen. Damit ist der Name bis
- zum ersten Punkt gemeint.
- Extension: Sortiert wird nach der dateiendung. damit des der Namens-
- teil nch dem letzten Punkt gemeint.
- Length : Sortiert wird nach Dateilänge.
- Date : Sortiert wird nach Datum.
- Time : Sortiert wird nach Uhrzeit.
- Unsort : Die Darstellung erfolt unsortiert. Damit ist die Reihenfolge
- gemeint, wie die Dateien im Verzeichnis stehen.
-
-
- 1.6.3 Menü Window...
-
- Dieser Menüpunkt gehört dem Windowmanager von KOLUMBUS.
-
- Mit diesem Menüpunkt kann Größe und Lage des obersten Fensters beein-
- flusst werden. Die folgenden beiden Optionen 'Position' und 'Size'
- können auch kombiniert verwendet werden.
-
- Weitere Informationen über den Windowmanager finden Sie in den Kapitel
- "Window Manager".
-
-
- 1.6.3.1 Position
-
- Mit dieser Option kann zwischen 9 vordefinierten Positionen gewählt
- werden:
-
- Oben : Links/Mitte/Rechts
- Mitte: Links/Mitte/Rechts
- Unten: Links/Mitte/Rechts
-
- unchanged: Keine Veränderung der Position.
-
-
- 1.6.3.2 Size
-
- Mit dieser Option kann zwischen 4 vordefinierten Größen ausgewählt
- werden:
-
- max : Fenstergröße maximal
- middle: Fenstergröße mittelgroß
- little: Fenstergröße klein
- min : Fenstergröße minimal
-
- unchanged: Keine Veränderung der Fenstergröße
-
-
- 1.6.3.3 ⇧⇩
-
- Mit dieser Option wird das oberste Fenster unter Beibehaltung der ak-
- tuellen Breite auf maximale Höhe gebracht.
- Wird diese Option erneute ausgewählt, so wird die alte Höhe wieder
- hergestellt.
-
-
- 1.6.3.4 ⇦⇨
-
- Mit dieser Option wird das oberste Fenster unter Beibehaltung der
- aktuellen Höhe auf maximale Breite gebracht.
- Wird diese Option erneute ausgewählt, so wird die alte Breite wieder
- hergestellt.
-
-
- 1.6.4 Settings
-
- KOLUMBUS gestattet es, alles was in den Dialogen an Parametern
- eingestellt werden kann, in Konfigurationsdateien abzuspeichern. Die
- Konfigurationsdateien müssen die Dateiendung '.cnf' besitzen.
- Die Standartkonfigurationsdatei 'kolumbus.cnf' wird automatisch beim
- Start von KOLUMBUS geladen.
-
- Mit diesem Menüpunkt können die Voreinstellungen abgespeichert oder
- neu geladen werden.
-
- Save : Die aktuelle Konfiguration wird in der Standartkonfigura-
- tionsdatei im Ordner 'intern' abgespeichert.
-
- Save as : Die aktuelle Konfiguration wird in einer frei wählbaren
- Konfigurationsdatei, die über einen Fileselektor ausge-
- wählt wird, abgespeichert
-
- Load : Die Standartkonfigurationsdatei aus dem Ordner 'intern'
- wird geladen.
-
- Load from : Eine frei wählbare Konfigurationsdatei, die über einen
- Fileselektor ausgewählt wird, wird geladen.
-
- KOLUMBUS sucht die cnf-Dateien standartmäßig im Environmentpfad
- 'KOLUMBUS'. Ist im Environment kein Suchpfad definiert, so wird
- ersatzweise nach dem Ordner 'intern' im aktuellen Pfad, von dem
- Kolumbus gestartet wurde, gesucht.
-
-
-
- 1.6.5 Environment...
-
- In diesem Menüpunkt werden folgende Voreinstellungen zusammengefasst.
- Environmentstrings, die an durch KOLUMBUS gestartete Programme wei-
- tervererbt werden, ein eventuell vorhandener Clipboardpath.
- Desweiteren kann angegeben werden, ob die Maus beim Start von
- KOLUMBUS eingeschaltet ist oder nicht. Einige Shells verhalten sich
- da leider nicht so wie der Desktop (Maus ist eingeschaltet).
- Ausserdem läßt sich hier, soweit MiNT gestartet ist, der interne
- Fileselektor von KOLUMBUS aktivieren, der es gestattet auch längere
- Dateinamen darstellen zu können.
-
-
- 1.6.5.1 Strings
-
- Hier können die Pfadnamen dreier Environmentvariablen definiert wer-
- den. Diese Pfadnamen werden an alle Programme vererbt, die von KOLUM-
- BUS gestartet werden.
- Diese Methode,vor allem aus der UNIX- und MS-DOS Welt bekannt, wird
- bürgert sich so ganz allmählich auf den Atari Rechnern ein. Insbeson-
- dere verwenden einige PD Compiler z.B. Sozobon-C und GNU-C diese
- Technik der Pfadnamenvorgabe und sind für deren Betrieb unbedingt nö-
- tig.
- Eine Variable wird wie folgt definiert:
-
- NAME=WERT
-
- WERT ist(sind) i.a. ein oder mehrere Suchpfade in denen die Ein- und
- oder Ausgabedateien des zu startenden Programmes stehen. Werden
- mehrere Pfade für eine Variable definiert, so werden diese durch ein
- Semikolon getrennt. Am Ende darf weder ein Semikolon noch ein Back-
- slash '\' stehen. Es sollten immer Großbuchstaben verwendet werden.
-
- Der Environmentstring, den KOLUMBUS an aufgerufene Programme vererbt
- setzt sich aus drei Teilen zusammen:
-
- 1.Aus dem KOLUMBUSeigenen Environment welches KOLUMBUS als child
- Prozess von seinem Parent vererbt bekommen hat.
-
- oder aus
- 2.Die Environmentstrings aus dem Environmentfenster.
-
- Dazu kommen
- 3.Die Environmentstrings aus dem Menupunkt Extra.Environment
-
- Wer also in der glücklichen Lage ist, KOLUMBUS bereits "sein" Envi-
- ronmentstring beim Start unterzujubeln, kann dann auf das Environ-
- mentfenster ganz verzichten. Unter alten TOS-versionen braucht man
- dazu ein Environmentsetter-programm. Da MiNT bereits standartmässig
- ein Environment zur Verfügung stellt, ist das Thema in der Zukunft
- wohl glücklicherweise ein für allemal erledigt. Ich habe das Envi-
- ronmentfenster trotzdem noch drin gelassen. Es soll ja noch Leute ge-
- ben, die noch ohne MiNT auskommen.
-
- Environments 2 und 3 koennen theoretisch (und auch praktisch) vor
- jedem Start eines Programmes verändert werden.
-
- Beim Aufruf der Projektverwaltung kommt noch ein 4 Teil hinzu: Die
- Kommandozeilenargumente für Compiler und Linker werden nach dem ARGV-
- verfahren übergeben, d.h. unter der Environmentvariablen 'ARGV='.
-
-
- 1.6.5.2 Environmentfenster
-
- Wenn ein Environmentfenster geöffnet ist, wird das Globale Environ-
- ment eines Environmentsetters durch das Fensterenvironment über-
- schrieben.
-
- Das Environmentfenster ist folgendermassen aufgebaut:
-
- Zeile 1: '.envi'
- Zeile 2 bis Zeile n: n-1 Suchpfade.
-
- Also z.Beispiel so:
-
- .envi
- TMP=G:\tempo
- TEMP=G:\tempo
- TMPDIR=G:\tempo
- GNULIB=G:\gnu\lib
- GCCEXEC=G:\gnu\bin\gcc-
- GXXINC=G:\gnu\gppincl
- GNUINC=G:\gnu\mnt_include
- UNIXMODE=d/rUcu
- PATH=G:\gnu\bin;G:\bin;G:\mint\bin
-
- Es sind keine Blanks erlaubt.
-
-
- 1.6.5.3 Clipboard path
-
- Hier wird angegeben unter welchen Pfadname KOLUMBUS das Clipboard
- suchen soll.
-
- 1.6.5.4 Own Fileselector
-
- Da der Standartfileselektor des GEM für Filesysteme mit Casesensiti-
- ven Dateinamen völlig unbrauchbar ist, ergibt sich die Notwendigkeit
- unter MiNT einen externen Filesektor, der den Standartfileselektor
- ersetzt, oder den KOLUMBUS internen Fileseletor zu benutzen.
-
- Der interne Fileselektor im KOLUMBUS ist für Anwender gedacht, die
- sich die 100Kbyte, die ein externer Fileselektor leicht braucht, vom
- Speicherplatz her gesehen nicht leisten können. Er bietet nicht so
- viel Komfort, wie die erhältlichen Sharewareselektoren und deshalb
- auch nur dort aktivierbar wo es nötig ist: Unter MiNT.
-
- Bedienung:
- Die Bedienung des internen Fileselektors erfolgt im Prinzip genau so
- wie die Bedieneung der Fenster des Filemanagers. D.h. es ist möglich
- sowohl mit der Maus, als auch mit der Tastatur sich durch die Ver-
- zeichnisbäume zu bewegen.
-
- Klick auf ein Laufwerk: Das Laufwerk wird eröffnet und ein Treeview
- eingelesen.
-
- Klick auf ein Verzeichnis: Das Verzeichnis wird geöffnet und ein Ver-
- zeichnisfenster mit allen Einträgen des
- Direktories dargestellt.
-
- Klick auf eine Datei: Die Datei wird ausgewählt.
-
- Klick auf "...": Aus beliebiger Tiefe Rücksprung zum Laufwerksfen-
- ster.
-
- Klick auf "..": Eine Stufe zurück in der Verzeichnishierarchie.
-
- Klick auf ".": Wenn ein Verzeichnis ausgewählt werden soll wird das
- momentan aktuelle Verwendet.
- Wenn eine noch nicht existierende Datei ausgewählt
- werden soll, wird diese im aktuellen Verzeichnis
- eingerichtet. Es folgt dann noch ein Dialog um den
- Dateinamen anzugeben.
-
-
- 1.6.6 Info...
-
- Anzeige folgender Informationen in einem Dialogfenster:
-
- Informationen über das oberste Fenster:
- Cursorposition (Zeile und Spalte).
- Anzahl der Zeilen.
- Eingabemodus (nicht)Überschreiben
- Datei (nicht)verändert
-
- Informationen über den Ramspeicher.
- -Duch Kolumbus belegter Speicher
- -Größter freier Speicherblock
-
- Informationen über das Betriebssystem:
- -Gemversion
- -Tosversion
- -MiNTversion
-
-
- 1.6.7 Make
-
- Unter diesem Menüpunkt erscheint ein Dialog, mit dem die Projektver-
- waltung aufgerufen wird. Details zur Projektverwaltung stehen im einem
- eigenen Kapitel.
-
- Dieser Menüpunkt ist nur freigeschaltet, wenn eine 'Makedatei' geöff-
- net wurde.
-
-
- 1.6.7.1 make
-
- Diese Funktion startet die Projektverwaltung in der Normalfunktion Die
- Projektverwaltung prüft die in einem "Makefenster" spezifizierten
- Abhängigkeiten und führt die erforderlichen Aktionen durch.
-
-
- 1.6.7.2 debug only
-
- Dieses ist eine Testfunktionunktion der Projektverwaltung. Es werden
- die Abhängigkeiten geprüft und zusammen mit den erforderlichen Akti-
- onen in in einem neuen Fenster angezeigt. Die Aktionen werden nur
- angezeigt und nicht ausgeführt.
-
-
- 1.6.7.3 make all
-
- Es werden alle Funktionen durchgefürt unabhängig ob es aus Sicht der
- Projektverwaltung nötig wäre oder nicht.
-
-
- 1.6.8 Help
-
- Dieser Menüpunkt lädt eine online Helpdatei nur zum Lesen in ein Edi-
- torfenster, in der alle Menüpunkte aus dem Extramenü noch einmal teil-
- weise mit Beispielen erklärt werden. Auch die Tastaturkürzel für ein-
- zelne Funktionen sind dort, soweit vorhanden, aufgeführt.
- Der Filemanager.
-
- --------------------------------------------------------------------
- 2. Der Filemanager.
- 2.1 Die Fenstertypen des Filemanagers
- 2.1.1 Das Laufwerksfenster
- 2.1.2 Das Treeviewfenster
- 2.1.3 Das Dateifenster
- 2.1.4 Das Deskfenster
- 2.1.5 Pfadnamen
- 2.1.6 Zusammenfassung
-
- 2.2 Die Dateifunktionen des Filemanagers.
- 2.2.1 Kopieren
- 2.2.1.1 Behandlung der Verzeichnisse beim Kopieren.
- 2.2.1.2 Kopieroptionen
- 2.2.2 Umbenennen
- 2.2.3 Verschieben
- 2.2.4 Löschen
- 2.2.4.1 LöschOptionen
- 2.2.5 Dateizeit verändern
- 2.2.6 Verzeichnisse einrichten
- 2.2.7 Programme starten
- 2.2.7.1 Dialog zur Eingabe von Kommandozeilenparametern
- 2.2.7.1.1 Cmdline
- 2.2.7.1.2 Cmdline
- 2.2.7.1.3 Temp
- 2.2.7.1.4 Input
- 2.2.7.1.5 Output
-
- 2.2.8 Der interne Fileselektor
- 2.2.8.1 Bedienung des internen Fileselektorfensters
- --------------------------------------------------------------------
-
- 2. Der Filemanager.
-
- 2.1 Die Fenstertypen des Filemanagers
-
- Die Kommunikation mit dem Filemanager erfolgt mittels 4 Fenstertypen.
- 1. Das Laufwerksfenster
- 2. Das Treeviewfenster
- 3. Das Dateifenster
- 4. Das Deskfenster
-
- Mit den Fenstertypen 1-3 ist eine Traverse duch die installierten
- Filesysteme möglich.
-
-
- 2.1.1 Das Laufwerksfenster
-
- Über ein Laufwerksfenster erfolgt der Einstieg das (die) Dateisy-
- stem(e) des Rechners. Ein Laufwerksfenster ist erkennbar an dem Fen-
- stertitel. Hiersteht immer "U:". Anwender von MiNT wissen, daβ das
- Laufwerk "U:" die Wurzel des "Unified Filesystems" ist von wo aus der
- Zugriff auf alle Laufwerke/Filesysteme des Rechners möglich ist. Der
- Filemanager simuliert rein optisch auch fuer "nicht MiNT Anwender"
- dieses Laufwerk "U:".
- Es gibt drei Möglichkeiten, ein Laufwerksfenster aufzumachen: Mit der
- Maus über die Menüzeile Drive.Open, mit der Tastatur über ^O und
- nochmals mit Maus durch Rechtsklick.
- Im Innern des Fensters werden nun alle angeschlossenen Laufwerke mit
- ihrem Laufwerksbuchstaben bzw. unter MiNT zusätzlich die Geladenen
- Filesysteme angezeigt, pro Zeile je ein Eintrag. Als erste Zeile
- steht immer ein Punkt ".".
- Durch Mausklick auf "." wird das Laufwerksfenster neu aufgebaut,
- durch Mausklick auf einen Laufwerksbuchstaben oder dem Namen eines
- Filesystems öffnet sich nun zusätzlich ein Treeviewfenster.
- Das Laufwerksfenster ist auch durch die Tastaturfunktionen des Edi-
- tors bedienbar. Man setzt den Cursor auf die entsprechende Zeile und
- drückt dann ◆Return. Das Gleiche gilt auch für die Treeview- und
- Dateifenster.
- Durch Eingabe eines Buchstabens springt der Cursor zum nächsten Lauf-
- werk/ Filesystem, das mit Buchstaben beginnt.
-
- Hier ein kurzes Beispiel eines Laufwerksfensters unter MiNT:
-
- ◆ .
- ◆ ram
- ◆ a
- ◆ b
- ◆ c
- ◆ d
- ◆ e
- ◆ f
- ◆ g
- ◆ r
- ◆ dev
- ◆ pipe
- ◆ proc
- ◆ shm
-
- Hier ein kurzes Beispiel eines Laufwerksfensters unter plain TOS:
-
- ◆ .
- ◆ a
- ◆ b
- ◆ c
- ◆ d
- ◆ e
- ◆ f
- ◆ g
-
-
- 2.1.2 Das Treeviewfenster
-
- Der Titel eines Treeviewfensters ist entweder der Laufwerksbuchstabe
- also z.B. "A:", oder der Name eines ladbaren Filesystes, z.B.
- U:\ram\.
- Im Treeviewfenster werden alle auf dem Laufwerk befindlichen Ver-
- zeichnisse eingerückt entsprechend Stellung in der Verzeichnishierar-
- chie dargestellt, je Zeile ein Verzeichnis. Als erste Zeile steht
- immer ein Verzeichnis ".", als Zweite Zeile immer ein Verzeichnis
- "..".
- Durch Mausklick auf das Verzeichnis "." wird der Treeview neu er-
- stellt. Durch Mausklick auf das Verzeichnis "..", kehrt der File-
- manger um eine Hierarchiestufe zurück, d.h. in diesem Fall "Rückkehr
- zum Laufwerksfenster". Durch einen Mausklick auf ein beliebiges ande-
- res Verzeichnis aber, springt der Filemanger direkt in das in der
- Zeile angegebene Verzeichnis und Öffnet ein weiteres Fenster, das zu
- diesem Verzeichnis gehöhrende Dateifenster.
- Die gleiche Aktion wie durch Mausklick kann wiederum über die Tasta-
- tur durch Positionieren des Editorcursors und drücken von ◆Return
- erreicht werden.
- Wird beim Mausklick die ^-Taste gedrückt gehalten, bzw. statt ◆Return
- ^Return gedrückt, so wird für das Dateifenster kein neues Fenster
- aufgemacht, sondern das Treeviefenster wird durch das Dateifenster
- ersetzt.
- Durch Eingabe eines Buchstabens springt der Cursor zum nächsten Ord-
- ner der mit Buchstaben beginnt.
-
- Hier ein kurzes Beispiel eines Treewviewfensters.
-
- ◆ .
- ◆ ..
- ◆ gnu
- ◆ bin
- ◆ doc
- ◆ lib
- ◆ gppincl
- ◆ yacclex
- ◆ gnu_include
- ◆ sys
- ◆ gnu
- ◆ sys
- ◆ mnt_include
- ◆ sys
- ◆ mint
- ◆ m108
- ◆ purec
- ◆ m109
- ◆ purec
- ◆ bin
- ◆ mfs
- ◆ mfs609
- ◆ docs
- ◆ fsck
- ◆ minixfs
-
-
- 2.1.3. Das Dateifenster
-
- Der Titel eines Dateifensters ist immer der komplette Pfadname. Die
- ersten Einträge im Dateifenster sind wieder die Verzeichnisse "." und
- ".." mit der gleichen Bedeutung wie beim Treeviefenster. Als nächstes
- kommen dann alle weiteren Verzeichnisse, deren Wurzel in dem
- aktuellen Verzeichnis liegen. Danach kommen alle im aktuellen
- Verzeichnis sich befindlichen Dateien.
- Durch Mausklick auf einen Dateinamen passiert nun folgendes: An Hand
- der Extension (TOS,TTP,PRG,APP,GTP) des Dateinamens erkennt KOLUMBUS,
- wenn die Datei ein ausführbares Programm enthält. Ist das der Fall,
- wird diese Programm gestartet. Bei den Extensions TTP und GTP kann
- dem Programm vorher noch über einen Fensterdialog eine Kommandozeile
- übergeben werden.
- Hat die Datei eine andere oder keine Extension, so lädt KOLUMBUS die
- Datei in den Editor (ggflls. als Binärdatei, wenn die Datei Nullcha-
- racter enthält).
- Ein Dateifenster kann über den Menuepunkt Extra.Sort sortiert werden.
- Über ein Fensterdialog kann eingestellt werden, nach welchen Attribut
- sortiert werden soll: Als Sortierkriterium stehen Name, Extension,
- Gröβe, Datum, Uhrzeit zur Auswahl. Ausserdem kann die Sortierung
- ausgeschaltet werden. Die Dateien werden dann entsprechend der Lage
- im Verzeichnis dargestellt.
- Durch Eingabe eines Buchstabens springt der Cursor zum nächsten Ord-
- ner/ Datei, der/die mit dem Buchstaben beginnt.
-
- Hier ein kurzes Beispiel für ein Dateifenster:
-
- ◆ .
- ◆ ..
- readme.60 3968 1993.11.26 02:43
- bugs.doc 1881 1993.11.26 02:43
- pl8.doc 3487 1993.11.26 02:43
- pl9.doc 479 1993.11.27 18:37
- fsck.doc 2063 1993.11.26 02:43
- pl5.doc 1811 1993.11.26 02:43
- mount.doc 1090 1993.11.27 18:37
- minit.doc 6723 1993.11.26 02:43
- mfsconf.doc 2317 1993.11.26 02:43
- minixfs.doc 11372 1993.11.26 02:43
- ⇧ ⇧
- Dateiname Dateilänge
-
- Anmerkung: Der Abstand zwischen Dateiname und Dateilänge richtet sich
- nach der maximalen Dateinamenlänge auf dem Laufwerk.
-
-
- 2.1.4 Das Deskfenster
-
- Laufwerk-, Treeview- und Dateifenster geben gewissermassen die
- physikalische Struktur der angeschlossenen Laufwerke bzw. einge-
- richtete Laufwerkpartitionen und geladenen Filesystemen wieder. Der
- Anwender hat deshalb keine Möglichkeit, den Inhalt dieser Fenster
- manuell zu konfigurieren und somit den eigen Bedürfnissen bzw. ver-
- schiedenen Projekten anzupassen (von der Sortierung der Dateifenster
- einmal abgewsehen).
- Um diesem Abzuhelfen ist im KOLUMBUS Filemanager ein vierter Fen-
- stertyp implementiert: Das Deskfenster.
- Ein Deskfenster ist erkennbar an der ersten Zeile: Hier muss immer
- ".desk" stehen. Desweiteren können in einem Deskfenster in beliebiger
- Reihenfolge noch Leerzeilen, Kommentarzeilen und Zeilen mit komplet-
- ten Pfadnamen stehen.
- Durch einen Mausklick auf einen Pfadnamen passiert nun das Gleiche
- wie bei einem Mausklick auf einen Dateinamen im Dateifenster: An Hand
- der Extension entscheidet KOLUMBUS ob es ein Programm ist, das ge-
- startet, oder eine Datei die in den Editor geladen werden soll. Im
- letzteren Fall wird die Datei automatisch erzeugt, falls sie noch
- nicht existiert
- Beim Mausklick auf eine Kommentarzeile oder einer Leerzeile passiert
- nichts.
- Ein Deskfenster wird mit dem Editor erstellt und als normale Textda-
- tei abgespeichert. Ich verwende immer die Extension ".dsk".
-
-
- 2.1.5 Pfadnamen
-
- Kolumbus geht im Moment von folgender Maximallänge für Datei- und
- Pfadnamen aus:
-
- Dateiname: 66 Byte
- Pfad : 256 Byte
- Pfadname : 322 Byte
-
- Dateinamen dürfen aus allen Zeichen ausser dem Leerzeichen (Blank),
- dem '0-Byte' und einem '\' (Backslash) bestehen.
-
- Kolumbus geht davon aus, daß Verzeichnisse im Pfadnamen durch einen
- '\' (Backslash abgetrennt werden.
-
-
- 2.1.6 Zusammenfassung
-
- Über die drei Fenstertypen Laufwerksfenster, Treeviewfenster, Datei-
- fenster des Filemangers erfolgt der Zugriff auf Verzeichnisse und
- Dateien.
- Verglichen mit dem Gemdos Desktop bietet das Laufwerksfenster in etwa
- die Funktionalität der Laufwerkicons (erweitert um die geladenen
- Filesysteme). Das Dateifenster entspricht in etwa dem des Gemdos
- Dateifenster. Die Funktionalität des Treeviewfenster hingegen bietet
- der Gemdos Desktop nicht.
- Das Deskfenster entspricht in seiner Funktionalitaet in etwa dem
- "Ablegen von Dateien auf dem Desktop". Nur hat man hier die Möglich-
- keit, ggflls. auch mehrere Deskfenster zur gleichen Zeit zur
- Verfügung zu haben. Es gibt nur einen Desktop aber beliebig viele
- Deskfenster.
-
-
- 2.2 Die Dateifunktionen des Filemanagers.
-
- Die Dateifunktionen des Filemanagers sind über die Treeviewfenster
- und Dateifenster erreichbar.
-
- 2.2.1 Kopieren
-
- Sowohl Treeviewfenster als auch Dateifenster können Ausgangspunkt und
- Zielpunkt für das Kopieren von Verzeichnissen und Dateien sein. Unter
- MiNT kommt noch das Laufwerksfenster dazu.
- Dateien/Verzeichnisse werden ähnlich kopiert wie als wenn man im
- Editor Zeilen kopiert. Man markiert einfach die Zeilen im Quell-
- datei/-treeviewfenster mit ^C..^C und drückt dann im Zieldatei/-tree-
- viewfenster ^Insert.
- Wird als Quelle ein Verzeichnis selektiert, so werden alle in diesem
- Verzeichnis befindlichen Dateien kopiert.
- Erfolgt das ^Insert auf einen Verzeichnisnamen so werden alle Dateien
- in diesen Ordner hineinkopiert.
-
- Vor dem Kopieren wird ein Dialog geöffnet und folgendes Angezeigt:
- Anzahl der zu kpoierenden Dateien, Anzahl der zu Kopierenden Ver-
- zeichnisse, Gesamtlänge der Dateien unter Berücksichtigung der Clu-
- stergröβe auf dem Ziellaufwerk, und der freie Platz auf dem Ziellauf-
- werk.
- In diesem Kopierdialog lassen sich einige Optionen und die Art und
- Weise, wie Verzeichnisse beim Kopieren behandelt werden einstellen.
-
-
- 2.2.1.1 Behandlung der Verzeichnisse beim Kopieren.
-
- Je nach Wahl der Optionen können die Verzeichnisse wie folgt behan-
- delt werden:
- -Keine Verzeichnisse mitkopieren.
- -Mitkopieren des Verzeichnisses
- -Mitkopieren des des relativen Pfades
- -Mitkopieren des absoluten Pfades
- -Dateien aktualisieren. Nur die Dateien kopieren, die auch auf dem
- Ziellaufwerk existieren und dort älteren Datums sind.
-
-
- 2.2.1.2 Kopieroptionen
- Als Kopieroptionen können angewählt werden:
- -Kein Kopieren, nur Anzeige der zu kopierenden Dateien.
- -Bestätigen vor dem Kopieren einer Datei.
- -Bestätigen vor dem Überschreiben einer Datei.
- -Ein/Ausschalten des Verify-Flags des Gemdos.
-
-
- 2.2.2 Umbenennen
-
- Dateien können umbenannt werden in einem Dateifenster. Zum Umbenenen
- wird (werden) die Datei (en) mit ^C..C^ selektiert. Dann wird auf
- einer selektierten Dateien ^Insert gedrückt.
- Zur Eingabe des neuen Namens wird nun nacheinander für jede selek-
- tierte Datei ein Dialog geöffnet.
-
-
- 2.2.3 Verschieben
-
- Zum Verschieben von Dateien geht man folgendermaβen vor: Man öffnet
- ein Dateifenster für das Verzeichnis in das die Datei verschoben wer-
- den soll. Danach wird der Menüpunkt Drive.move in der Menüzeile ange-
- wählt. Es öffnet sich nun ein Fileselektor, in dem die zu verschie-
- bende Datei ausgewählt wird.
-
-
- 2.2.4 Löschen
-
- Dateien und Verzeichnisse können in einem Treeviewfenster oder in
- einem Dateifenster gelöscht werden.
- Das geht genau so wie im Editor Zeilen gelöscht werden. Mit ^D..^D
- werden erste und letzte Zeile markiert. Vor dem löschen wird ein Dia-
- log geöffnet. Angezeigt werden wie beim Kopieren Anzahl der Dateien
- und Verzeichnisse, sowie Gesamtlänge der Dateien und der freie Platz
- auf dem Laufwerk.
-
-
- 2.2.4.1 LöschOptionen
-
- Als Löschoptionen können angewählt werden:
- -Nicht löschen, nur Anzeige der zu löschenden Dateien/Verzeichnisse
- -Bestätigen vor dem Löschen
- -Nur Dateien löschen (Verzeichnisse bleiben erhalten).
- -Ein/Ausschalten des Verify-Flags des Gemdos.
-
-
- 2.2.5 Dateizeit verändern
-
- Die Dateizeit kann in einem Datei- oder Deskfenster auf das aktuelle
- Datum gesetzt werden. Dazu wird der Cursor auf die Datei positioniert
- und dann ^t (touch) gedrückt. Das braucht man manchmal für die Pro-
- jektverwaltung.
-
-
- 2.2.6 Verzeichnisse einrichten
-
- Zum Einrichten eines Verzeichnisses öffnet man ein Dateifenster in
- dem das neue Verzeichnis erzeugt werden soll. Dann wird der Menüpunkt
- Drive.Directory in der Menüzeile ausgewählt. Es öffnet sich ein
- Dialog in dem der namen des neuen Verzeichnisses eingegeben werden
- kann.
-
-
- 2.2.7 Programme starten
-
- Ein Programm wird gestartet, wenn es in einem Fenster des Dateimana-
- gers einfach angeklickt wird.
-
- An Hand der Dateiextension entscheidet KOLUMBUS, wie das Programm zu
- starten ist:
-
- .APP,.PRG : Das Programm wird wie ein GEM-Programm gestartet.
- .TOS,.TTP : Das Programm wird wie ein TOS-Programm gestartet. Vor dem
- Start können über einen Dialog noch Kommandozeilen-
- parameter eingegeben werden. Ausserdem können Standart-
- -Ein,-Ausg und -Fehlerkanal umgelenkt werden
-
- .GTP : Das Programm wird wie ein GEM-Programm gestartet. Es er-
- folgt jedoch vorher ein Dialog zur Eingabe von Kommando-
- zeilenparameter.
-
- 2.2.7.1 Dialog zur Eingabe von Kommandozeilenparametern
-
- Cmdline
- Path
- Temp
- Input.Console
- Input.File
- Output.Console
- Output.FileNew
- Output.FileUpd
- Output.RedirectStderr
-
-
- 2.2.7.1.1 Cmdline
-
- Hier werden die Kommandozeilenparameter eingetragen. Es wird keine
- Expansion von Wildcards vorgenommen.
-
-
- 2.2.7.1.2 Cmdline
-
- Hier wird das Arbeitsverzeichnis für das zu startende Programm ein-
- getragen. Erfolgt hier keine Angabe, so wird als Arbeitsverzeichnis
- das Verzeichnis des zu startenden Programms verwendet.
-
-
- 2.2.7.1.3 Temp
-
- Die Umlenkunk der Ein-Ausgabe erfolgt über Zwischendateien. Hier kann
- festgelegt werden, in welchem Verzeichnis diese Zwischendateien an-
- gelegt werden.
- Erfolgt hier keine Angabe, so wird als Tempverzeichnis das Ver-
- zeichnis des zu startenden Programms verwendet.
-
- 2.2.7.1.4 Input
-
- Input.Console
- Ratiobutton: Wenn selektiert, erfolgt keine Umlenkung der Eingabe.
-
- Input.File
- Ratiobutton: Wenn selektiert, wird die Standarteingabe auf eine Datei
- umgelenkt. Neben dem Button kann jetzt der Dateiname
- angegeben werden. Ist kein Dateiname angegeben, so wird
- der Name __stdin angenommen.
-
-
- 2.2.7.1.5 Output
-
- Output.Console
- Ratiobutton: Wenn selektiert, erfolgt keine Umlenkung der Ausgabe.
-
- Output.FileNew
- Ratiobutton: Wenn selektiert, wird die Standartausgabe auf eine Datei
- umgelenkt. Neben dem Button kann jetzt der Dateiname
- angegeben werden. Ist kein Dateiname angegeben, so wird
- der Name __intemp angenommen.
- Existiert bereits eine Datei gleichen Namens, so wird
- diese Überschrieben.
-
- Output.FileUpd
- Ratiobutton: Wenn selektiert, wird die Standartausgabe auf eine Datei
- umgelenkt. Neben dem Button kann jetzt der Dateiname
- angegeben werden. Ist kein Dateiname angegeben, so wird
- der Name __outemp angenommen.
- Existiert bereits eine Datei gleichen Namens, so werden
- die Ausgaben ans Ende der Datei angehängt.
-
- OutPut.Redirect Stderr
- Ckeckbutton: Wenn selektiert, wird die Standartfehlerausgabe auf eine
- Datei umgelenkt. Als Dateiname wird der unter FileNew bzw.
- unter FileUpd verwendete angenommen.
-
-
- 2.2.8 Der interne Fileselektor
-
- Leider ist die Fileselektorbox des AES auf nachladbaren Filesystemen
- unter MiNT in der MiNT-Domain völlig unbrauchbar. Will man z.B. auf
- dem Minix-XFS im Fileselektor in den Genuss der langen Dateinamen
- kommen, so ist es unerlässlich den AES-Fileselektor zu ersetzen.
-
- Vorhandene Replacements des AES-Fileselektor haben den Nachteil, daß
- sie relativ viel Speicher benötigen, da können schon mal an die 100
- Kbyte zusammen kommen.
-
- Da mein System aber unter chronischen Speichermangel leidet, habe
- ich, um Ram zu sparen, ein internes Fileselektorfenster implementiet.
- Da praktisch alle Funktionen dafuer sowieso schon innerhalb von
- KOLUMBUS vorhanden sind, kostet das Ganze nur ca. 4,5 Kbyte
- zusätzlich an Speicherverbrauch.
-
- Der interne Fileselektor ist als Selektorfenster implementiert aber
- sehr einfach und leistet nur das nötigste. Aber er ist das
- abschaltbar und sowieso nur unter MiNT aktiv. Es braucht also keiner
- auf seine gewohnte Selektorbox verzicheten, soweit sie in der Lage
- ist, in der MiNTdomain von KOLUMBUS zu laufen. Auch darf eine externe
- Selektorbox die MinTdomain von KOLUMBUS nicht einfach abschalten!
- (das Gleiche gilt auch fuer Accessories unter single TOS).
-
-
- 2.2.8.1 Bedienung des internen Fileselektorfensters
-
- Um auf einfache Weise zwischen externen und internen Selektor um-
- schalten zu können, ist das Selektorfenster Applikationsmodal. Ist
- demnach das Selektorfenster auf, kann keine andere Funktion von KO-
- LUMBUS aufgerufen werden. Funktionen anderer, parallel laufender Pro-
- zesse jedoch sehr wohl.
-
- Das Selektorfenster ist im Prinzip wie ein Treeview- oder Verzeich-
- nisfenster aufgebaut und wird auch genau gleich bedient. Durch klick
- auf ein Dateinamen wird diese Datei ausgewählt und das
- Selektorfenster wird verlassen.
-
- Durch Eingabe eines Buchstabens springt der Cursor zum nächsten Ord-
- ner/ Datei, der/die mit dem Buchstaben beginnt.
-
- Durch klick auf ein Verzeichnisnamen, gehts eine Stufe tiefer und
- durch klick auf ".." eine Stufe hoeher in der Ordnerhierarchie.
-
- Durch klick auf "..." geht es aus jeder Tiefe direkt zurück zum
- Laufwerksfenster, von wo auf ein anderes laufwerk oder Filesystem
- verzweigt werden kann.
-
- Durch klick auf den Closer wird die Funktion abgebrochen.
-
- Natuerlich koennen alle diese Aktionen auch durch die Tastatur
- ausgelößt werden.
-
-
- 3 Die Projektverwaltung
- ---------------------------------------------------------------------
-
- 3.1 Einleitung
- 3.1.1 Wozu eine Projektverwaltung?
- 3.1.2 Wunschtraum: Eine professionelle Projektverwaltung.
- 3.1.3 Die Realität (das Machbare)
-
- 3.2 Das Makefenster
- 3.2.1 Beispiel für ein Makefenster
- 3.2.1.1 was unbedingt nötig ist
- 3.2.1.2 Auflockern durch Leerzeilen
- 3.2.1.3 Kommentare
- 3.2.1.4 Einbeziehung des obersten Fensters
- 3.2.2.1 Die Syntax
- 3.2.2.2 Auswerten des Returncodes des Compilers.
- 3.2.2.3 Verwendung von Makros
-
- 3.3 Optionen der Projektverwaltung
- 3.4 Umlenkung der Ausgabe
- 3.5 Hinweise zum Gebrauch des Makeutilities.
- 3.6 Die Projektverwaltung als allgemeiner TTP-Programmstarter
- 3.7 Schlusswort
- ---------------------------------------------------------------------
-
- 3.1 Einleitung
-
- Das Makeuitility oder auch Projektverwaltung ist neben dem Editor,
- dem Filemanager dir dritte Säule von KOLUMBUS.
-
-
- 3.1.1 Wozu eine Projektverwaltung?
-
- Einer der Vorteile moderner Programmiersprachen ist ja die Möglich-
- keit der Modularisierung. Damit ist gemeint die Aufspaltung grosser
- Programmquelltexte auf mehrere Quelltextdateien (Module) mit klar
- definierten, voneinander unabhängigen Aufgaben. Alle diese Module
- kommunizieren über wohldefinierten Schnittstellen (Prozeduren, Metho-
- den) miteinander, sind separat kompilierbar und werden erst zum
- Schluss zum eigentlichen Programm zusammengefügt.
- Die Vorteile diese Verfahrens liegen auf der Hand: Kleine unabhängige
- Module sind leichter zu verstehen, schneller zu kompilieren, leichter
- zu warten, mehrfach verwendbar.
- Auf der anderen Seite: Kein Vorteil ohne Nachteil. Ändert sich in ir-
- gendeinem Modul eine Schnittstelle, so müssen genau die Module neu ü-
- bersetzt werden, die diese Schnittstelle benutzen. Nach jeder Ände-
- rung muss sich der Entwickler also fragen: Welche Module müssen neu
- übersetzt werden? Das ist lästig und schlimmer noch: fehleranfällig.
- Mit der Anzahl der Module steigt auch die Gefahr, das dabei etwas ü-
- bersehen wird (vergessen wird ein Modul neu zu kompilieren.
- Es schadet natürlich nicht, bei jeder Schnittstellenänderung immer
- alle Module des Projektes neu zu übersetzen, aber das ist lästig weil
- es kostet mehr Zeit als eigentlich nötig wäre.
-
- Die Antwort auf diese Problem ist eine Projektverwaltung. Sinn und
- Zweck des Projektverwaltung ist es, den Softwareentwickler bei den
- formalen Tätigkeiten bezüglich Compiler- und Linkeraufruf so weit wie
- möglich zu entlasten und diesen Vorgang zu automatisieren, den
- Komfort zu erhöhen.
-
-
- 3.1.2 Wunschtraum: Eine professionelle Projektverwaltung.
-
- Woher weiss nun aber die Projektverwaltung, welche Module bei einer
- bestimmten Änderung neu übersetzt werden müssen?
-
- Ausgangsbasis für eine professionelle Projektverwaltung ist eine Art
- "Datenbank" in der genau vermerkt ist, welches Modul welche Prozedur
- ruft bzw. welches Modul welche Datenstrukturen aus anderen Modulen
- benutzt. So eine eine "Datenbank" wird in der Regel durch ein spezi-
- elles Programm durch Analyse der Quelltexte automatisch erstellt.
-
- Vor jedem Übersetzungsvorgang schaut also jetzt die Projektverwaltung
- in ihrer Datenbank nach, sucht sich die Änderungen heraus, und stellt
- eine Liste der zu übersetzenden Quelltextmodule zusammen und ruft
- dann fuer jede zu übersetzende Quelltextmodul den Compiler auf. Au-
- sserdem wird bei dieser Gelenheit die Datenbank aktualisiert, damit
- sie beim nächsten Produktionsvorgang wieder auf aktuellem Stand ist.
-
- Zwar wäre es schön, so ein Supertool auch für die Atari Rechner zur
- Verfügung zu haben, aber es ist wohl klar, dass der Aufwand dafür
- immens ist. Ausserdem ist so ein Tool auf jeden Fall abhängig von der
- Programmiersprache, da es ja die Quelltexte analysieren muss.
-
-
- 3.1.3 Die Realität (das Machbare)
-
- Beschränkt man sich auf einfache Abhängigkeiten wie "ModulA ruft Mo-
- dulB", oder besser noch "DateiA ist Abhängig von DateiB", verzichtet
- man also darauf, jede Änderung im Detail zu erfassen, kommt man zu
- einem Ansatz, der schon mit relativ einfachen Mitteln realisierbar
- ist. Denn jetzt ist es nicht mehr nötig vor dem Compilieren, die
- Quelltexte nach Änderungen zu durchforsten, sondern es genügt die
- Dateizeit zu vergleichen. Und immer dann, wenn DateiB jüngeren Datums
- ist, gelten alle in DateiB enthaltenen Schnittstellen als geändert
- und DateiA und alle anderen die ebenfalls DateiB aufrufen, müssen neu
- übersetzt werden.
-
- Was jetzt noch benötigt wird ist eine Möglichkeit, der Projektver-
- waltung eine Liste von Dateiabhängigkeiten zu übergeben, und ihr mit-
- zuteilen, wie die Dateien übersetzt werden und zum Schluss zusammen-
- gebunden werden (Compiler- Compilerschalter, Linker- Linkerschalter
- etc.).
-
- Die bekannteste Projektverwaltung, die nach diesem Prinzip funktio-
- niert, ist wohl das Unixprogramm "MAKE". Dieses Programm erwartet die
- Abhängigkeiten zwischen den Dateien standartmässig in der Datei
- namens "makefile".
-
- Wegen dem Bekanntheitsgrad und der Universalität von MAKE, habe ich
- die Projektverwaltung von KOLUMBUS, der Arbeitsweise vom "groβen
- Vorbild" MAKE angeglichen.
-
- Zwar ist die Projektverwaltung von KOLUMBUS nicht so mächtig wie MAKE
- ist aber durchaus auch in der Lage Projekte mit 20-30 Module zu
- verwalten. Auch ist die Syntax des KOLUMBUS-Makefiles strenger als
- die von MAKE, jedoch so ähnlich, daβ ein Kenner von MAKE aber auf
- Anhieb ein KOLUMBUS makefile verstehen wird.
-
- Wer Make noch nicht kennt, sollte sich die Mühe machen ,die folgenden
- Abschnitte intensiv durchzulesen. Mit diesem Wissen lassen sich dann
- auch einfache Makefiles für das GNU-Make interpretieren.
-
-
- 3.2 Das Makefenster
-
- An Stelle der "makedatei" tritt in der KOLUMBUS Projektverwaltung ein
- Makedefinitionsfenster oder kurz Makefenster.
-
- Die Projektverwaltung von KOLUMBUS läβt sich nur aufrufen, wenn so
- ein Makefenster geöffnet ist.
-
- Im makefenster werden folgende Informationen abgelegt:
-
- - die Namen der Sourcedateien,
- - die Abhängigkeiten zwischen den Sourcedateien,
- - wo diese Dateien zu finden sind,
- - wo Compiler und Linker zu finden sind,
- - wie Compiler und Linker aufzurufen sind.
- - die Namen der übersetzten Sourcedateien
- - den Namen des fertigen Programms
-
-
- 3.2.1 Beispiel für ein Makefenster
-
- Nehmen wir an, wir hätten eine Version des legendären Programms
- "Hello" erstellt und wollen es übersetzen. Die fertige Programm soll
- "hello.prg" heißen. Die Sourcedatei heisse 'hello.c' und stehe im
- Verzeichnis C:\SRC. Compiler/Linker stehen im Verzeichnis C:\BIN und
- heissen CC.TTP bzw. LL.TTP. Zur Ausgabe auf den Bildschirm benötigen
- wir dir Quelldatei stdio.h ( hello.c wird abhängig von stdio.h), die
- Displayfunktionen befinden sich in der Objectbibliothek
- C:\LIB\stdlib.lib, der Startupcode des Compilers stehe in
- C:\LIB\start.o.
-
-
- 3.2.1.1 was unbedingt nötig ist
-
- Diesen ganzen Tatbestand spezifizieren wir kurz und bündig wie folgt:
-
- .make zeile 1
- .srcpath=C:\SRC zeile 2
- .binpath=C:\BIN zeile 3
- hello.prg: hello.o zeile 4
- LL.TTP start.o hello.o C:\LIB\stdlib.lib zeile 5
- zeile 6
- hello.o: hello.c stdio.h zeile 7
- CC.TTP hello.c zeile 8
-
-
- 3.2.1.2 Auflockern durch Leerzeilen
-
- Wir können das Ganze auch optisch etwas auflockern:
-
- .make zeile 1
-
- .srcpath=C:\SRC zeile 2
- .binpath=C:\BIN zeile 3
-
- hello.prg: hello.o zeile 4
- LL.TTP start.o hello.o C:\LIB\stdlib.lib zeile 5
- zeile 6
- hello.o: hello.c stdio.h zeile 7
- CC.TTP hello.c zeile 8
-
-
- 3.2.1.3 Kommentare
-
- Und/oder auch noch mit verwirrenden Kommentaren versehen (damit es
- nicht gleich jeder versteht):
-
- .make zeile 1
- # beispiel einer make definitionsdatei
- #
- .srcpath=C:\SRC zeile 2
- .binpath=C:\BIN zeile 3
-
- hello.prg: hello.o zeile 4
- LL.TTP start.o hello.o hello.prg C:\LIB\stdlib.lib zeile 5
- zeile 6
- hello.o: hello.c stdio.h zeile 7
- CC.TTP hello.c zeile 8
-
-
- 3.2.1.4 Einbeziehung des obersten Fensters
-
- oder um das CHAOS perfekt zu machen :
-
- .make zeile 1
- # beispiel einer make definitionsdatei
- #
- .srcpath=C:\SRC zeile 2
- .binpath=C:\BIN zeile 3
-
- $(*).prg: $(*).o zeile 4
- LL.TTP start.o $(*).o $(*).prg C:\LIB\stdlib.lib zeile 5
- zeile 6
- $(*).o: $(*).c stdio.h zeile 7
- CC.TTP $(*).c zeile 8
-
- In diesem letzten Fall wird der Name der Sourcedatei durch einen $(*)
- ersetzt. Der '$(*)' wird vor der Abarbeitung der Anweisungen
- automatisch durch den Namen des obersten Fensters (ohne Extension)
- ersetzt. $(*) ist ein Standartmakro. Siehe Abschnitt über makros
- weiter unten.
-
-
- 3.2.2.1 Die Syntax
-
- Im letzten beispiel bedeuten bzw. gehören zur Syntax:
-
- '.make' : Kennzeichnung eines Make-Definitionsfensters (1). Diese
- Anweisung muß immer in der ersten Spalte der ersten
- Zeile im Fenster beginnen.
- '#' : Einleitung einer Kommentarzeile, Kommentarzeilen dürfen
- nur an dieser Stelle (zwischen 1 und 2) stehen.
- .srcpath : Zugriffspfad der Sourcemodule (2).
- .binpath : Zugriffspfad von Compiler,Linker und was es sonst noch
- an Programmen benötigt wird ( z.B. YACC,LEX,.. ) (3).
-
- ':' : links davon steht die zu erzeugende Datei (output oder
- Zieldatei), rechts davon aus welchen Dateien diese
- erzeugt wird (input,Quelldateien ) (4,7). Diese Zeile
- wird in die nächste Zeile(n) verlängert wenn das letzte
- zeichen ein '\' (backslash) ist. Der ':' ist zu lesen
- als 'ist abhängig von'. Eine Zeile der Form
- Zieldatei: Quelldateie(n)
- wird auch als Abhängigkeitszeile bezeichnet.
- leerzeile 6 : gehört ebenfalls zur Syntax.
- zeilen 5,8 : Kommandozeilenaufruf des Linkers und Compilers. Auch
- diese kann durch '\' in die nächste Zeile(n) verlängert
- werden, insgesamt aber nur bis 127 Zeichen. Die Zeilen
- 5,8 werden auch als Aktionszeilen bezeichnet.
-
- Die Zeilen 4,7 spezifizieren hier also die Abhängigkeiten, die Zeilen
- 5,8 spezifizieren hier im Beispiel die Aktionen. Um korrekt arbeiten
- zu können, muß auf eine Abhängigkeitszeile immer eine Aktionzeile
- kommen. Abhängigkeitszeile und Aktionzeile zusammen nenne ich mal
- 'Anweisungsblock'. Zwischen zwei Anweisungsblöcken muß immer eine
- Leerzeile stehen.
-
- Alles was hinter LL.TTP bzw. CC.TTP steht gehört nicht zur Syntax von
- Make sondern zu Aufrufsyntax des Compilers bzw. Linkers.
-
- Unser Makefenster ist jetzt fertig. Make ist jetzt in der Lage das
- Programm "hello.prg" durch Aufruf des Compilers und des Linkers
- selbsttätig herzustellen. Der Aufruf des Makeutilities erfolgt im
- Menupunkt Extra.make oder gleich mit ◆M.
-
- Das besondere an Make ist ja , daß es immer nur die Dateien neu
- übersetzt , die sich seit der letzten Erstellung verändert haben.
- Maßgeblich dafür ist die Dateizeit.
- - Es ist also wichtig immer die korrekte
- - Zeit eingestellt zu haben.
-
- Im vorliegenden Fall wird der Linker genau dann aufgerufen, wenn die
- Datei "hello.o" jüngeren Datums ist als die Datei "hello.prg", oder
- aber wenn "hello.prg" noch gar nicht existiert.
-
- Der Compiler hingegen wird genau dann gerufen, wenn die Datei
- "hello.c" jüngeren Datums ist als die Datei "hello.o", oder wenn
- "hello.o" noch gar nicht existiert. Der Compilerlauf hätte wiederum
- zur Folge, daß "hello.o" ein jüngeres Datum als hello.prg bekäme.
- Folglich erfolgte dann hinterher völlig automatisch auch der Aufruf
- des Linkers.
-
-
- 3.2.2.2 Auswerten des Returncodes des Compilers.
-
- Was aber wenn beim Compilieren von hello.c Fehler entstehen ? Dann
- wäre der anschließende Aufruf des Linkers unnützt! Aber keine Angst,
- jeder Compiler, der was auf sich hält, liefert in so einem Fall ein
- Returncode > 0 an den Aufrufer ( hier KOLUMBUS/Make) zurück. Dieser
- Return code wird natürlich ausgewertet. Ein Returncode > 0 führt
- zum Abbruch des Produktionsvorganges - der Linker würde dann nicht
- mehr gestartet... es sei denn man schriebe folgendes in zeile 8:
-
- .make zeile 1
- .srcpath=C:\SRC zeile 2
- .binpath=C:\BIN zeile 3
-
- hello.prg: hello.o zeile 4
- LL.TTP start.o hello.o C:\LIB\stdlib.lib zeile 5
- zeile 6
- hello.o: hello.c stdio.h zeile 7
- -i2 CC.TTP hello.c zeile 8
-
-
- In diesem Fall macht KOLUMBUS/Make auch dann weiter, wenn ein
- Returncode = 1 rückgegeben wird. Manche Compiler liefern die 1 bei
- aufgetretenen Warnings zurück und bei einem Fehler den Returncode 2.
-
- Die Zahl nach dem -i gibt an welcher Returncode gerade nicht mehr
- akzeptiert wird. Die Zahl 0 nach dem i hat allerdings eine besondere
- Bedeutung: Eine so gekennzeichnete Aktionszeile wird niemals
- ausgeführt ( auch das braucht man manchmal).
-
-
- 3.2.2.3 Verwendung von Makros
-
- Durch die Verwendung von Makros kann sich eine Erhebliche Schreiber-
- sparnis ergeben.
-
- Ein Makro wird definiert durch die Anweisung
-
- .<name> = <text>
-
- Der Aufruf diese Makros erfolt durch
-
- $(<name>)
-
- Man könnte das letzte Beispiel auch folgendermaßen unter verwendung von Makros
- Makros schreiben:
-
- .make zeile 1
- .srcpath = C:\SRC zeile 2
- .binpath = C:\BIN zeile 3
- .ll = LL.TTP zeile 3a
- .cc = CC.TTP zeile 3b
-
- hello.prg: hello.o zeile 4
- $(ll) start.o hello.o C:\LIB\stdlib.lib zeile 5
- zeile 6
- hello.o: hello.c stdio.h zeile 7
- -i2 $(cc) hello.c zeile 8
-
- Als weiteres Anschauungsmaterial habe ich eine Datei m109gcc.mak
- beigelegt. Dort werden alle features der internen Projektverwaltung
- (u.a. auch mehrstufige Abhaengigkeiten) angewendet. Mit dieser
- makedatei habe ich mir MiNT.V109 übersetzt.
- In der Datei m109gcc.pro befindet sich ein Protokoll des Überset-
- zungslaufs. Wie man sieht hat das Ganze auf meinem 16MHz-ST 40
- Minuten gedauert (Gaehn):
-
-
- 3.3 Optionen der Projektverwaltung
-
- Insbesondere bei komplizierteren Makedateien wie das Beispiel in der
- Datei yacclex.mak empfielt es sich die makedatei zunächst mal zu
- testen, ohne gleich Compiler und Linker aufzurufen. Der Testaufruf
- erfolgt mit Shf/◆M oder dem Menüpunkt extra.make.debugonly.
-
-
- Riefen wir die Debugfunktion für die oben beschriebene Makedatei auf,
- so käme folgendes dabei heraus:
-
- dependancies :
- hello.c 00-00-80 00:00:00 ( )
- hello.o 00-00-80 00:00:00 ( hello.c, stdio.h, )
- : CC.TTP hello.c
- hello.prg 00-00-80 00:00:00 ( hello.o, )
- : LL.TTP start.o hello.o C:\LIB\stdlib.lib
- stdio.h 00-00-80 00:00:00 ( )
- actions :
- CC.TTP hello.c
- LL.TTP start.o hello.o C:\LIB\stdlib.lib
-
- KOLUMBUS/Make ermittelt die Abhängigkeieten und die Dateizeiten der
- Sourcedateien und Zwischendateien und stellt sie in einem
- MESSAGE-Fenster dar. Hinter jeder Sourcedatei stehen dabei zuerst
- Datum und Uhrzeit der letzten Veränderung, danach in Klamern die
- Dateien von dem die Sourcedatei abhängig ist. Im obigen Beispiel sind
- die Sourcedateien allesamt nicht vorhanden, daher die Initialwerte
- von Datum/Uhrzeit. Zum Schluß noch die aktuell nötigen Aktionszeilen,
- um das gewünschte Programm zu erzeugen.
-
- Ist noch ein Fehler in der Makedatei, kann man es an dieser Anzeige
- in der Regel bereits erkennen. Kommen die actions in der richtigen
- Reihenfolge so ist die Makedatei in der Regel ebenfalls korrekt.
- Desweiteren sollte man sorgfältig prüfen, ob die Abhängigkeiten
- richtig erkannt wurden. Wenn nicht befindet sich der Makedatei noch
- ein Syntaxfehler.
-
-
-
- 3.4 Umlenkung der Ausgabe
- -------------------------------------------------
-
- Normalerweise lenkt KOLUMBUS/Make die Ausgabe in eine Datei
- "__OUTEMP" um und ließt diese zum Schluß in ein Fenster ein, sodaß
- Fehlermeldungen des Compilers nicht verloren gehen. Die gewohnte GEM
- Umgebung wird dabei nicht verlassen.
-
- Manchmal läßt sich jedoch die Ausgabe nicht umlenken ( wenn z.B. BIOS
- Funktionen zur Ausgabe verwendet werden). Die Folge ist dann eine
- häßliches Zerstörung der GEM-Oberfläche. Um das zu vermeiden kann in
- der Makedatei ein TOS Flag gesetzt werden. Unser bereits arg
- strapaziertes Beispiel sieht damit dann folgendermaßen aus:
-
- .make zeile 1
- # beispiel einer make definitionsdatei
- #
- .tos zeile 1a
- .srcpath=C:\SRC zeile 2
- .binpath=C:\BIN zeile 3
- hello.prg: hello.o zeile 4
- LL.TTP start.o hello.o C:\LIB\stdlib.lib zeile 5
- zeile 6
- hello.o: hello.c stdio.h zeile 7
- CC.TTP hello.c zeile 8
-
-
- 3.5 Hinweise zum Gebrauch des Makeutilities.
-
- Bevor KOLUMBUS/Make seine Aktionen durchführt, speichert es alle
- veränderten Fenster ab. Es ist daher nicht nötig eine geänderte
- Quellcodedatei vorher selbst abzuspeichern.
-
- Es können auch mehrere Makefenster offen sein. KOLUMBUS/Make verwen-
- det jedoch immer das erste gefundene.
-
- Durch einen kleinen Trick kann nach dem Linken das fertige Programm
- auch gleich gestartet werden oder in ein Debugger geladen werden:
-
- .make zeile 1
- # beispiel einer make definitionsdatei
- #
- .tos zeile 1a
- .srcpath=C:\SRC zeile 2
- .binpath=C:\BIN zeile 3
-
- wum: hello.prg zeile 3a
- DEBUG.TTP hello.prg zeile 3b
-
- hello.prg: hello.o zeile 4
- LL.TTP start.o hello.o C:\LIB\stdlib.lib zeile 5
- zeile 6
- hello.o: hello.c stdio.h zeile 7
- CC.TTP hello.c zeile 8
-
-
- Durch Zeile 3a/3b gaukeln wir KOLUMBUS/Make die Zieldatei "wum" vor.
- Dadurch wird, weil diese Datei durch hello.prg niemals erzeugt wird,
- im Anschluß an einem erfolgreichen Lauf des Linkers immer DEBUG.TTP
- gestartet. Da es keinen Sinn macht, den Debugger bei umgelenkter
- Ausgabe zu starten wird außerdem in Zeile 1a das tos flag gesetzt.
- Ein praktisches Beispiel, so wie ich es verwende, befindet sich in
- der Datei "gnudebug.mak" auf der KOLUMBUS Diskette.
-
-
- 3.6 Die Projektverwaltung als allgemeiner TTP-Programmstarter
-
- Im letzten Abschnitt klang es schon an: Durch Vorgabe einer fiktiven
- zu erzeugenden Datei, kann die Projektverwaltung dazu bewegt werden,
- beliebige TOS/TTP Programme zu starten.
-
- Falls man sich nicht gleich eine Shell schreibt, lohnt es sich mit-
- unter für heufig gebrauchte TOS/TTP Programme eine Makedatei zu
- schreiben. Mit der Verwendung von Makros und der Möglichkeit Stan-
- dartpfade zu setzen, bieten sich recht komfortable Möglichkeiten des
- Aufrufs dieser TTP/TOS Programme. Ausserdem kann man sich mit Kommen-
- tarzeilen die Programmschalter immer Vergegenwärtig halten.
-
- Hier als Anregung eine Makedatei, wie ich sie häufig für den ZOO-Ar-
- chiver benutze:
-
- .make
- #Usage: zoo {acDeglLPTuUvx}[aAcCdEfInmMNoOpPqu1:/.@n] archive file
- #("zoo h" for help, "zoo H" for extended help)
- # Commands in {} mean: |Modifiers in [] mean:
- # a add files | a show archive name(s) in listing
- # c update comments | A apply g or c to archive
- # D delete stored files | c add/list comments
- # e,x extract files | d extract/list deleted files too
- # g adj. gen. limit/count | dd extract/list only deleted files
- # l,L,v,V list filenames | E erase backup after packing
- # P pack archive | f fast add (no compression) or list
- # T fix archive datestamp | M move when adding (erase original)
- # u add only newer files | n add only files not already in archive
- # U undelete stored files | N send extracted data to Nowhere
- # ----------------------------- O don't ask "Overwrite?"
- # q be quiet p pipe extracted data to standard output
- # : don't store dir names /,// extract full pathnames
- # . pack to current dir I add filenames read from stdin
- # C show file CRC value +/- enable/disable generations
- # S overwrite newer files g list generation limits
- # P pack after adding @n start extract/list at position n
- # m list file modes OO overwrite read-only files
- # C change archive cmnt h use high-compression method
-
- .srcpath = G:\mintlib
- .binpath = G:\bin
- .COM = x
- .OPT =
- .ARCHIVE = mntinc39
-
- all: G:\bin\zoo.ttp
- zoo.ttp $(COM) $(OPT) $(ARCHIVE)
-
-
- 3.7 Schlusswort
-
- Ich hoffe nun, mit dieser kurzen Einführung alle Klarheiten bezüglich
- KOLUMBUS/Make beseitigt zu haben.
-
-
- 4 Textformatierung
- ---------------------------------------------------------------------
-
- 4.1 Textformatierung
- 4.1.1 Übersicht:
- 4.1.2 Ablauf
-
- 4.2.1 Formatierung
- 4.2.1.1 Steuerung der Formatierung
- 4.2.2 Word wrapping
-
- 4.3 Steuerzeichen für die Textformatierung
- 4.3.1 Übersicht
- 4.3.2 Pseudotrener
- 4.3.3 (harter) Zeilenumbruch
- 4.3.4 Pseudoblank
- 4.3.5 Die Horizontalmarke
- 4.3.6 Formatfreier Paragraph
-
- 4.4 Export,Ausgabe des formatierten Textes:
- ---------------------------------------------------------------------
-
- 4.1 Textformatierung
-
- 4.1.1 Übersicht:
-
- Die Textformatierung ist für den "Hausgebrauch" konzipiert. Sie soll
- und kann keine professionelle Textverarbeitung ersetzen.
-
- -Die Textformatierung bietet folgende Leistungsmerkmale:
-
- - Word wrapping am Fensterrand
- - Randausgleich
- - Halbautomatische Silbentrennung
- - Pseudoblanks
- - Horizontalmarke
- - Harter Zeilenumbruch
- - Formatfreier Paragraph.
-
-
- 4.1.2 Ablauf
-
- Die Erstellung eines formatierten Textes erfolgt in drei Schritten:
-
- 1.Schreiben des Quelltextes mit allen Steuer- und Formatierzeichen
- 2.Textformatierung
- 3.Export des formatierten Textes in eine Datei, in ein Fenster oder
- direkt auf den Drucker.
-
-
- 4.2.1 Formatierung
-
- Der Textformatierung erfogt mit ^j .. ^j. Erste und letzte zu forma-
- tierende Zeile werden jeweils mit ^j markiert. Bei der Formatierung
- werden alle Steuerzeichen beachtet: Pseudotrenner, harter Zeilenum-
- bruch, Pseudoblank, Horizontalmarke, und Formatfreier Paragraph.
-
- Beim Formatiervorgang mit Randausgleich versucht KOLUMBUS möglichst
- viel in eine Zeile hineinzubekommen. Das gelingt um so besser, je
- mehr Pseudotrennzeichen verwendet wurden. Es ist daher günstig lange
- Wörter mit möglichst viel Pseudosilbentrennzeichen zu versehen.
-
- Der Randausgleich selbst erfolgt bei der Formatierung durch Einfügen
- von Leerzeichen zwischen den Wörtern. Dabei wird von links nach
- rechts vorgegengen.
-
- Die Formatierung erfogt Absatzweise, daβ heiβt Absätze, die durch ei-
- ne Leerzeile getrennt sind werden nicht zusammengefügt.
-
- Hinweis:Während der Formatierung ist der zu formatierende Text kurz-
- zeitig doppelt im Speicher. Ich empfehle daher (nicht nur bei Spei-
- chermangel) eine Absatzweise Formatierung.
-
-
- 4.2.1.1 Steuerung der Formatierung
-
- Neben den Steuerzeichen lässt sich durch die erste zu formatierende
- Zeile der Formatiervorgang beeinflussen:
-
- Ist die erste Zeile eine Leerzeile, so werden als linker und rechter
- Rand die erste Spalte und die letzte Spalte des rechten Fensterrandes
- verwendet.
-
- Ist die erste Zeile keine Leerzeile, so wird als linker und rechter
- Rand die erste und letzte Spalte der ersten Zeile verwendet.
-
- Anmerkung: Für einen sinnvollen Randausgleich sind mindestens 30
- Spalten nötig. Ich habe den Randausgleich auf diesen Wert begrenzt.
- Empfehlenswert sind aus meiner Sicht jedoch mindestens 40 Spalten.
-
-
- 4.2.2 Word wrapping
-
- Word wrapping oder auch 'automatischer Zeilenumbruch' wird durch den
- Menüpunkt Edit.Wordwrapping eingeschaltet.
-
- Der Zeilenumbruch erfolgt während des Schreibens eines Textes immer
- am rechten Rand des Textfensters. Der Umbruch erfolt immer hinter dem
- letzten, vollständig geschriebenen Wort. Dabei wird letzte, bereits
- angefangene Wort in die nächste Zeile übertragen.
-
-
- 4.3 Steuerzeichen für die Textformatierung
-
- 4.3.1 Übersicht
-
- Pseudotrenner : '' ( alt/control - )
- Zeilenumbruch : '
- ' ( alt/control Return oder alt/control J )
- Pseudoblank : '◆' ( alt/control <blank> )
- Horizontalmarke : '✓' ( alt/control H )
- Formatfreier Paragraph
- Anfang : '' ( alt/control < )
- Ende : '' ( alt/control ä )
-
-
- 4.3.2 Pseudotrener
-
- Der Randausgleich steht und fällt mit einer möglichst günstigen Aus-
- nutzung einer Zeile, d.h. je besser die Worte einer Zeile diese auch
- ausfüllen, desto weniger Leerzeichen brauchen beim Randausgleich ein-
- gefügt werden, und desto besser ist das optische Gesammtbild des fer-
- tigen Textes.
-
- Durch die Verwendung von Pseudotrennzeichen zwischen möglichst vielen
- Silben ist KOLUMBUS in der Lage bestmöglichst zu trennen, d.h. die
- Trennung am Zeilenende so zu wählen, das möglichst viel Text in einer
- Zeile steht. Es ist klar, daβ das Ergebnis einer Formatierung um so
- besser ausfällt, je mehr Pseudotrennzeichen beim Schreiben des Textes
- verwendet wurden.
-
- Verhalten beim Export:
- Später beim exportieren des Textes auf den Drucker oder in eine Datei
- oder Fenster, werden dann alle überfluessigen Pseudotrennzeichen
- automatisch entfernt. Man braucht also beim Schreiben des Textes mit
- Pseudotrennern nicht zu sparen.
-
-
- 4.3.3 (harter) Zeilenumbruch
-
- Durch den harten Zeilenumbruch läβt sich beim Formatieren des Textes
- eine neue Zeile erzwingen.
- Das wird benötigt, wenn z.B. ein neuer Satz in einer neuen Zeile
- beginnen, aber keine Leerzeile als Trennung verwendet werden soll.
-
- Verhalten beim Export:
- Beim Export wird das Zeichen für den Zeilenumbruch entfernt.
-
-
- 4.3.4 Pseudoblank
-
- Durch einen Pseudoblank zwischen zwei Wörtern läβt sich erreichen,
- daβ bei der Textformatierung diese beiden Worte nicht durch einfügen
- von Leerzeichen auseinandergerissen werden.
- Zwei durch ein Pseudoblank getrennte Worte werden also wie ein großes
- Wort behandelt.
-
- Verhalten beim Export:
- Beim Export des Textes wird dar Pseudoblank automatisch durch ein
- richtiges Leerzeichen ersetzt.
-
-
- 4.3.5 Die Horizontalmarke
-
- Die Horizontalmarke wird verwendet zum Einrücken eines Absatzes.
- Steht in einer Zeile eine Horizontalmarke, so beginnt die nächste
- Zeile automatisch in der Spalte der Horizontalmarke.
-
- Die Wirkung einer Horizontalmarke reicht bis zur nächsten Horizontal-
- marke, aber maximal bis zum Ende des aktuellen Absatzes.
-
- Verhalten beim Export:
- Beim Export des Textes werden Horizontalmarken durch Leerzeichen er-
- setzt.
-
-
- 4.3.6 Formatfreier Paragraph
-
- Durch den Formatfreien Paragraph wird erreicht, daß ein entsprechend
- markierter Bereich ( Tabellen ..) bei der Textformatierung übergangen
- wird. D.h. man kann auch Beispielsweise zwei Absätze zwischen denen
- eine Tabelle steht, zusammenhängend formatieren ohne daß die Tabelle
- dabei zerstört wird.
-
- Verhalten beim Export:
- Die Steuerzeichen für Anfang/Ende werden beim Export gelöscht.
-
-
- 4.4 Export,Ausgabe des formatierten Textes:
-
- Die Ausgabe des formatierten Textes wird mit der Exportfunktion
- vorgenommen.
- Werden nur die oben erwähnten Steuerzeichen verwendet, braucht kein
- eigenes Filter verwendet zu werden, weil die Exportfunktion standart-
- mäßig genau auf die Steuercodes der Textformatierung zugeschnitten
- ist. Näheres zum "Filtern" in den HELP-texten.
-
- Man kann jedoch auch z.B. direkt auf den Drucker exportieren. In
- diesem Fall ist es möglich und auch sinnvoll in einem Exportfenster
- eigene Abkürzungen für Druckerescapesequenzen zu definieren. Die
- oben erwähnten Steuerzeichen zur Textformatieung sind dafür
- natürlich tabu.
-
- Als Beispiel für so eine Exportdatei für den Drucker mag die Datei
- OKI192.EXP dienen, die ich für mein OKI192 verwende. In dieser
- Datei habe ich zusätzlich die DruckerEscapesequenzen für
- Schönschrift auf ◆^n und die Einstellung vom rechten und linken
- Rand auf ◆^r gelegt. Außerdem erfolgt eine Umwandlung von ß nach β
- ( 158 nach 225).
-
-
- 5 Anhang
- ---------------------------------------------------------------------
-
- 5 Anhang
- 5.1 Der Window Manager in Kolumbus
-
- 5.2 Hinweise zum Editor
- 5.2.1 Rechtecke im Editor
- 5.2.2 Einfügen von Pfadnamen im Editor
- 5.2.3 PC-HELP Protokol
-
- 5.3 Umlenkung der Ein-Ausgabe
- 5.3.1 Umgelenkt werden können folgende Kanäle:
- 5.3.2 Probleme bei der Ein- Ausgabeumlenkung:
-
- 5.4 Tips,Clicks und "Affengriffe"
- 5.4.1 Der Window "Fuller":
- 5.4.2 Der Window "Mover":
- 5.4.3 Die Pfeiltasten:
- 5.4.4 Die Funktionstasten:
- 5.4.5 Der Window Manager:
- 5.4.6 Die Tree-, Laufwerks- und Dateifenster
- 5.4.7 Laden u. speichern von Dateien:
- 5.4.8 Das Makeutility:
- 5.4.9 Markieren, Suchen und ersetzen:
- 5.4.10 Block bearbeiten:
- 5.4.11 Löschen:
- 5.4.12 Undo
- 5.4.13 Positionieren
- 5.4.14 Zeilen Aus- und Einblenden
-
- 5.5.1 Die KOLUMBUS Fenstertypen
-
- ---------------------------------------------------------------------
-
- 5 Anhang
-
- 5.1 Der Window Manager in Kolumbus
-
- Kolumbus kann bis zu 128 Fenster verwalten. Um bei so vielen Fenstern
- noch den Überblick zu bewahren, brauch man entweder einen kühlen Kopf
- mit dem grossen "Fensterdurchblick" oder besser noch aber einen
- Windowmanager a la KOLUMBUS.
-
- Zum Windowmanager gelangt man, durch ◆/Escape, ^/Escape und im plain
- TOS zusätzlich durch Mausklick auf dem Desktophintergrund.
-
- Der Windowmanager öffnet dann ein Fenster (was sonst) in denen die
- Titel aller geöffneten Fenster aufgeführt sind oder anders ausgeückt
- den durch KOLUMBUS verwalteten momentanen Fensterstapel.
-
- Beispiel für ein Fenster des Windowmanagers mit 5 geöffneten
- Fenster. Die Nummer vor dem Fenstertiteln ist das intern verwendete
- Fensterhandle.
-
- 1 WINDOW MANAGER
- 2 G:
- 0 G:\cwrk\kolumb\kogcc.mak
- 4 C:\desks\kolumb.dsk
- 3 G:\cwrk\kolumb\doc\anhang.txt
-
- Im obigen Beispiel sieht man als Top-Fenster das Fenster des Window
- Managers mit dem Handle 1, ein Treeviewfenster des Laufwerks G:
- (Handle 2) , und drei Fenster im Editors mit den Handles 0,4 und 3.
-
- Der Windowmanager bietet jetzt folgende Möglichkeiten:
- -Direktes Toppen eines beliebigen Fensters aus dem Stapel.
- -Direktes Schliessen eines beliebigen Fensters im Stapel ohne es
- erst nach vorn holen zu müssen.
-
- Das direkte Toppen ist möglich durch shf/klick auf den Fenstertitel
- oder durch positionieren des Cursors auf den Titel und Drücken von
- ◆/Return.
-
- Das direkte Schliessen ist möglich durch positionieren des Cursors
- auf den Titel und Drücken von ^/Delete.
-
-
- 5.2 Hinweise zum Editor
-
- Die meisten Funktionen des Editors dürften im Onlinehelp ausreichend
- beschrieben sein. Etwas ungewöhnlich ist vielleicht die Bearbeitung
- In diesem Abschnitt will ich auf die eine oder andere Besonderheit
- noch einmal explizit hinweisen.
-
-
- 5.2.1 Rechtecke im Editor
-
- Kolumbus kann Rechtecke aus dem Text kopieren und verschieben. Ein
- Rechteck wird definiert durch einen aufgespannten Gummibandcursor,
- oder durch ^C..^C oder ^M..^M auf zwei diagonale Ecken des Rechtecks.
-
- Das so definierte Rechteck kann nun durch ◆I an anderer Stelle im
- Editor eingefügt (Insert) und durch ◆O an anderen Stelle überladen
- (Overlay) werden. Einfügen bezieht sich hier auf die Spalten und
- nicht auf die Zeilen des Rechtecks, man muss sich deshalb ggflls. an
- der Zielstelle erst mal genügend Platz schaffen falls nicht genügend
- Zeilen vorhanden sind.
-
- Wurde das Rechteck durch den Gummibandcursor oder ^C markiert, so
- wird es durch ◆/I und ◆/O kopiert, wenn es durch ^M markiert wurde,
- so wird es verschoben. Beim Verschieben wird das Quellrechteck durch
- Leerzeichen überschrieben.
-
- Rechtecke bearbeiten löscht den UNDO-Puffer!
-
-
- 5.2.2 Einfügen von Pfadnamen im Editor
-
- In einem editierbaren Fenster kann an beliebiger Zeile ein Pfadname
- angehängt werden.
-
- Das Vorgehen dazu ist folgendermaßen:
- 1. Doppelclick auf die Zeile an der ein Pfadname angehängt werden
- soll. Es erscheint dann das Fileselektorfenster bzw. der AES File-
- selktor zur Auswahl des Pfades oder Pfadnamens.
-
- 2. Mit dem Selektor klickt man sich in den gewünschten Pfad hinein.
-
- 3a Internes Selektorfenster:
- Durch klick auf einen Dateinamen oder auf den "." wird der Se-
- lektor verlassen und der Pfadname wird an die aktuelle Zeile im
- Editor angehängt.
-
- 3b AES-Fileselektor:
- Wird der Selektor mit "ok" verlassen, wird der ausgewählte Pfad
- (name) an die aktuelle Zeile im Editor angehängt.
-
-
- 5.2.3 PC-HELP Protokol
-
- KOLUMBUS unterstützt ab V2.20 das PC-Help Protokol. Es funktioniert
- in folgender Weise:
-
- 1. Positionieren des Cursors auf den gesuchten Begriff.
-
- 2. Drücken der Taste Help.
-
- Wenn das PC-Help Accessory gebootet wurde öffnet diese daraufhin ein
- Fenster um den gewünschten Helptext anzuzeigen.
-
-
- 5.3 Umlenkung der Ein-Ausgabe
-
-
- Die Umlenkung der Ein-/Ausgabe wird i.a. als Domäne von Kommando-
- shells angesehen. Das diese Technik auch unter einem GEM Programm
- hervorragend einsetzbar ist, will ich mit dem KOLUMBUS zeigen.
-
- Allgemein verwendet man die Ein/Ausgabeumlenkung in Kommandoshells um
- -Ausgaben eines Programms in eine Datei umzulenken, um sie später
- weiterzuverwenden.
- -Eingaben in ein Programm zu automatisieren
- -und/oder in Kombination Ausgaben eines Programms direkt zur Eingabe
- eines zweiten Programms zu verwenden.
-
- KOLUMBUS verwendet die Technik der Umlenkung der Ein/Ausgabe (auch
- schon in V1.00) in der Makefunktion. Hier werden Standart Eingabe, -
- Ausgabe und - Fehlerausgabe normalerweise in eine Datei umgelenkt,
- die im Anschluss an den Compilerlauf automatisch in ein Fenster
- geladen wird. Trotz aller Behinderungen durch das GEMDOS, habe ich
- damit überwiegend gute Erfahrungen gemacht. So habe ich mich denn
- entschlossen ab V2.00 auch beim Starten von ".TOS" oder ".TTP"
- (GEMDOS) Programmen diese Möglichkeit anzubieten. (Näheres hierzu:
- -> Kapitel <Programmstart> dfes Filemanagers.
-
-
- 5.3.1 Umgelenkt werden können folgende Kanäle:
-
- ---------------------------------------------------
- GEMDOS Kanalnummer Name
- ---------------------------------------------------
- 0 Standart Eingabe
- 1 Standart Ausgabe
- 2 Standart Fehlerausgabe
- ---------------------------------------------------
-
- Anders als in einer Kommandoshell gilt es in einem GEM Programm wie
- KOLUMBUS auch den Fehlerkanal abzufangen, da sonst Fensterinhalte
- überschrieben werden.
-
- Weil im GEMDOS kein Fehlerkanal unterstützt wird, darf dabei nicht
- verschwiegen werden, daß die Verwendung des Kanals 2 als Standart
- Fehlerkanal problematisch ist. Immerhin bezeichnet dieser Kanal unter
- GEMDOS die serielle Schnittstelle. Da aber viele GEMDOS Programme von
- UNIX oder DOS portiert wurden und dort der Fehlerkanal die
- Kanalnummer 2 hat, erscheint es trotzdem sinnvoll, diesen Kanal als
- Fehlerkanal zu interpretieren.
-
-
- 5.3.2 Probleme bei der Ein- Ausgabeumlenkung:
-
- Die Probleme bei der Umlenkung liegen im GEMDOS selbst begründet. Man
- kann sagen, daß sie bis heute nicht richtig funktionieren (Faust-
- regel: Je höher die Version des GEMDOS, desto besser funktionieren
- sie).
-
- In meinem (Rainbow) GEMDOS kommt es immer dann zu Problemen wenn
- gestartete GEMDOS Programme bei bereits umgelenkter Ein- oder Ausgabe
- ebenfalls anfangen irgendetwas umzulenken. Es erscheint dann folgende
- berühmt-berüchtete Meldung:
-
- *** OUT OF INTERNAL MEMORY
- *** USE FOLDR100.PRG TO GET MORE
- *** SYSTEM HALTED ***
-
- Ich persöhnlich empfehle in diesem Fall keinesfalls FOLDR100.PRG,
- sondern bei diesem Programm in Zukunft auf die Umlenkung durch
- KOLUMBUS zu verzichten.
-
- Summa Summarum kann man folgendes sagen: So lange die GEMDOS Pro-
- gramme nur die Standartein- und Ausgabekanäle benutzen und bicht
- selbst daran herummanipulieren funktioniert alles ganz prächtig.
-
- Unter MiNT sind bei mir bislang noch überhaupt keine Probleme diesbe-
- züglich aufgetaucht. Sollte sich da doch etwas verbessert haben?
-
-
-
- 5.4 Tips,Clicks und "Affengriffe"
-
- Dieses Kapitel stellt eine Zusammenfassung aller Tastatur- und
- Mausshortcuts dar, wie sie auch in den einzelnen Onlinehelpdateien
- aufgeührt sind.
-
- 5.4.1 Der Window "Fuller":
-
- Click - Das Fenster wird auf Maximalgröße vergrößert. Das
- kennt jeder - aber:
- Shf/click - Das Fenster wird auf mittlere Größe in der Mitte
- zentriert.
- ^/click - Das Fenster wird auf Minimalgröße links oben ver-
- kleinert (Nicht mit WinX2.2)
-
- Ein erneuter click auf den "Fuller" erzeugt in jedem Fall wie-
- der die alte Fenster -größe und -lage.
-
- Die gleiche Funktion wie Click auf dem Fuller kann über Tastatur mit
- ^/# ausgelößt werden.
-
-
- 5.4.2 Der Window "Mover":
-
- Shf/click - das Fenster wird in der aktuellen Größe in der
- Mitte zentriert. (Nicht mit WinX2.2).
-
-
- 5.4.3 Die Pfeiltasten:
-
- Shf/ - Bewegt den Cursor nach oben links im Fenster.
- Shf/⇩ - Bewegt den Cursor nach unten links im Fenster.
- Shf/⇨ - Bewegt den Cursor an den rechten Fensterrand, jedoch
- nicht weiter als bis zum Zeilenende.
- Shf/⇦ - Bewegt den Cursor an den linken Fensterrand.
- ^ / - Scrollt Fensterseite nach oben.
- ^ /⇩ - Scrollt Fensterseite nach unten.
- ^ /⇨ - Scrollt Fensterseite nach rechts.
- ^ /⇦ - Scrollt Fensterseite nach links.
-
-
- 5.4.4 Die Funktionstasten:
-
- Mit den Funktionstasten können alle Zeichen des Zeichensatzes über
- die Tastatur erreicht werden. Die Vorgehensweise ist folgende:
- 1. Zeichensatz darstellen mit Menu Font.Chrset.
- 2. Gewünschtes Zeichen durch Mausclick oder Cursortasten
- anwählen.
- 3. Funktionstaste drücken, unter der das Zeichen abrufbar sein
- soll.
-
- Es werden 40 Funktionstasten unterstützt:
- F1..F10
- ^F1..^F10
- ◆F1..◆F10
- ◆^F1..◆^F10
-
-
- 5.4.5 Der Window Manager:
-
- Der Aufruf des Window Managers erfolgt durch:
- 1. ^/
- 2. ◆/
- 3. click auf Desktophintergrund.
-
- Kommandos des Window Managers:
- ◆/Return - Holt Fenster nach vorn.
- ^/Delete - Schließt Fenster.
- Shf/click- wie ◆/Return.
-
-
- 5.4.6 Die Tree-, Laufwerks- und Dateifenster
-
- ◆Return - Auf Dateiname: Starten eines Programms oder
- Laden einer Textdatei.
- Auf Ordner : Inhaltsverzeichnis des Ordners
- in neues Fenster laden.
- Click - Identisch ◆Return.
- ^Return - Auf Ordner : Das Laufwerkfenster wird durch
- Inhaltsverzeichnis des Ordners
- ersetzt.
- ^Click - Identisch ^Return
- ^T - "Touch", verändern einer Dateizeit auf das
- aktuelle Datum.
- Esc - Das Datei- oder Laufwerk Fenster wird neu
- geschrieben.
- ^Delete - Löschen eines Ordners oder einer Datei.
- ^D..^D - Löschen mehrerer Ordner / Dateien.
- ^C..C/^Insert - Dateien /Ordner kopieren.
- ^I - Anzeige der Laufwerksinfos.
-
-
- 5.4.7 Laden u. speichern von Dateien:
-
- ^N - Erzeugen eines Editorfensters ohne Inhalt (new) .
-
- ^V - Laden einer Datei in den Editor. Sie kann nicht
- verändert werden.
- ^S - Abspeichern des obersten Fensters (save) .
- ^E - Export des obersten Fensters .
- ◆X - Zunächst Abspeichern aller Fenster. Dann wird das
- Programm mit Returncode=1 beendet.
- ^X - Beenden des Editors ohne die geänderten Fensterinhalte
- zu sichern. Es erfolgt jedoch für jedes geänderte
- Fenster vorher eine Sicherheitsabfrage.
-
-
- 5.4.8 Das Makeutility:
-
- ◆M - Aufruf von "Make" im Normalmodus. Alle Dateien
- werden ab- hängig vom Änderungsdatum übersetzt.
- Sh◆M - Aufruf der Testfunktion von "Make".
- Sh^M - Aufruf von Make. Alle Dateien werden unabhängig vom
- Ände- rungsdatum übersetzt.
-
-
- 5.4.9 Markieren, Suchen und ersetzen:
-
- sh/^F - Suche Zeichenkette.
- ^F - Suche nächste Zeichenkette.
- sh/^R - Suche und ersetze Zeichenkette.
- ^R - Suche und ersetze nächste Zeichenkette.
- ^C - Markiere Cursorzeile.
- ^C..^C - Markiere Block.
- sh/click - wie ^C
- sh/click..sh/click - wie ^C..^C
- ^M - ("move") Markiere Cursorzeile zum Verschieben
- ^M..^M - ("move") Markiere Block zum Verschieben
-
-
- 5.4.10 Block bearbeiten:
-
- ^A - ("after")Der durch ^C..^C oder ^M..^M definierte
- Zeilenblock wird hinter der Cursorzeile kopiert
- oder verschoben.
- ^B - ("before")Der durch ^C..^C oder ^M..^M definierte
- Zeilenblockblock wird vor der Cursorzeile kopiert
- oder verschoben.
- ◆O - Das durch ^C..^C oder ^M..^M definierte Rechteck
- wird hinter der Cursorzeile kopiert oder verscho-
- ben. Vorhandene Zeichen werden überschrieben
- (overlay-mode).
- ◆I - wie ◆O, nur werden vorhandene Zeichen nicht über-
- schrieben (insert-mode).
- ^P - Der durch ^C..^C definierte Block wird ausgedruckt.
- ^> - Der durch ^C..^C markierte Block wird um die Tabu-
- latorweite nach rechts gerückt.
- ^> - Der durch ^C..^C markierte Block wird um die Tabu-
- latorweite nach links gerückt.
-
- 5.4.11 Löschen:
-
- Delete - Lösche Zeichen unter dem Cursor.
- ^Delete - Lösche Cursorzeile.
- Backspace - Lösche Zeichen links vom Cursor.
- ^D..^D - Loesche Block.
- ^Q - Lösche den mit ^C und/oder ^M markierten Block
- oder erstes ^D.
- sh/Backspace - Lösche in Cursorzeile alle Zeichen links vom
- Cursor.
-
- Return - Splitte aktuelle Zeile an Cursorposition.
- ^Return - Erzeugt Leerzeile hinter Cursorzeile, Cursor auf
- Leerzeile.
- sh^Return - Erzeugt Leerzeile vor Cursorzeile, Cursor auf
- Leerzeile
-
-
- 5.4.12 Undo
-
- undo - Mache alle Änderungen in aktueller Zeile
- rückgängig.
-
-
-
- 5.4.13 Positionieren
-
- ^Help - Speichere aktuelle Fensterposition.
- ^ClrHome - Gehe zur gespeicherten Fensterposition
- ^L - Gehe zur Zeile ..
- ◆L - Zurück zur letzten Zeile vor ^L
- Home - Gehe zur ersten Zeile der Datei.
- sh/home - Gehe zur letzten Zeile der Datei.
- sh/up - Cursor zur ersten Zeile im Fenster.
- sh/down - Cursor zur letzten Zeile im Fenster.
- sh/left - Cursor zur ersten Spalte im Fenster.
- sh/right - Cursor zur letzten Spalte oder rechten Fensterrand.
- ^up - Blättere eine Fensterseite zurück.
- ^down - Blättere eine Fensterseite vor.
- ^left - Verschiebe Fenster eine halbe Seite nach links.
- ^right - Verschiebe Fenster eine halbe Seite nach rechts.
-
- up - Cursor eine Zeile nach oben.
- down - Cursor eine Zeile nach unten.
- left - Cursor eine Spalte nach links.
- right - Cursor eine Spalte nach rechts.
-
- ^W - Vertauscht zyklisch das aktive Fenster.
- sh/^W - Vertauscht die obersten beiden Fenster.
- ^I - Zeige Informationen über Fensterinhalt.
-
- Insert - Wechselt vom Normal- zum Einfügemodus und
- umgekehrt. Dieses Kommando kann für jedes
- geöffnetes Fenster unabhängig gegeben werden.
-
- Tab - Cursorsprung bis zur nächsten Tabulatorposition.
- Abhängigig von Insert wird die entsprechende
- Anzahl an Blanks eingefügt oder Zeichen mit
- Blanks übeschrieben.
-
- Die Tabulatorweite wird im Menü Extra.Tabs ein-
- gestellt.
-
-
- 5.4.14 Zeilen Aus- und Einblenden
-
- ^H - Hide, Die aktuelle/nächste Zeile wird ausgeblended.
- sh/^H - Die aktuelle/vorherige Zeile wird ausgeblended.
- ^G - Get, Die letzte ausgeblendete Zeile wird (wieder)
- dargestellt.
- sh/^G - Die erste ausgeblendete Zeile wird (wieder)
- dargestellt.
-
-
- 5.5.1 Die KOLUMBUS Fenstertypen
-
- In diesem Kapitel noch einmal eine Zusammenfassung der verschiedenen
- Fenstertypen, wie sie innerhalb von KOLUMBUS verwendet werden.
-
- Typ editierbar Dateizugriff Kennzeichen
- sortierbar Ausführbar Besitzt Syntax
- -----------------------------------------------------------------
- ASCII x x - - Dateiname -
- Binär x x - - Dateiname -
- Make x x - x .make x
- Export x x - - .export x
- Import x x - - .import x
- Environment x x - - .envi x
- Desktopfenster x x x - .desk x
- ONLINE help - - - - Dateiname -
- MESSAGE Fenster - - - - MESSAGE -
- Laufwerksfenster - - x - Laufwerk U: x
- Dateifenster - x x - Pfad x
- Tree(view)fenster - - x - Laufwerk x: x
- Windowmanagers - - - - WINDOW MAN.. x
-
- Die Syntax der editierbaren Fenstertypen sollte man sich gut ansehen.
- Das ist Voraussetzung, um alle Features von KOLUMBUS voll ausnutzen zu
- können. Die Syntax ist teilweise in dieser Datei und oder in den
- ONLINE Helpfenster beschrieben.
-
-
-